【发布时间】:2017-12-04 02:14:31
【问题描述】:
大家好,我想将选择选项数据从 ngFor 发送到 Ts 文件,但我尝试了 [attr.value] ,(ngModelChange)(更改)所有这些都发送了数据的名称,我想发送所有的数据来自 ngFor
HTML
<select [(ngModel)]="event"
class="selectpicker show-menu-arrow form-control show-tick"
data-style="btn-primary" (change)="doSomething(event)">
<option *ngFor="let event of events|filter:search"
EventInput="{{event}}"
[attr.value]="event2">
{{event.eventName}}
</option>
</select>
TS
@Input('EventInput') EventInput: any;
doSomething(event) {
console.log("optValue: ", event);
//this.eventDetailsPageSend(event);
console.log("input: ", this.EventInput);
}
optValue 只是事件的名称,但我需要所有数据,如 id 等(如何来自 ngFor),以便我可以推送另一个页面。我不知道我是否应该使用 Input 或 ngModelChange 作为新的角度和这个问题
谢谢。
【问题讨论】:
-
你不能。选项的值只是一个字符串。您可以使用
JSON.stringify将所有对象传递给值(我不推荐),或者在更改函数中使用find、filter或reduce等数组方法。 -
感谢您的快速回复,能否请您提供一个简单的更改功能示例
-
不,我不能抱歉,因为我真的不明白你的代码和你的解释。另外,它缺少某些部分,例如您的
events属性。 -
感谢您的快速回复。
-
没问题。如果您想开始,请尝试在您的更改功能中执行此操作:
this.events.filter(ev => console.log(ev))并查看如何将您的event变量与此ev进行比较
标签: angular input ionic2 ngfor