我目前正在Angular2组件中构建一些功能,其中循环对象数组以创建表单选择框的选项。
我有这个工作,当选择框选项被更改时,我调用一个处理函数,我打算将所选的选项传递给。
我目前遇到的问题是我无法将对象从视图传递到控制器。该对象以字符串形式传递:
[object object]
这是我的代码:
视图:
<div class='searchbar-wrapper'>
<h5>MANUFACTURER</h5>
<select class='manufacturers' #m [(ngModel)]="selectedManufacturer" (change)="changeManufacturer(m.value)">
<option>-- please select --</option>
<option *ngFor="let manufacturer of manufacturers" [ngValue]="manufacturer">{{manufacturer.name}}</option>
</select>
</div>
控制器:
changeManufacturer(manufacturer) {
this.productsLoaded = false;
this.selectedManufacturer = manufacturer;
this.productPayload.manufacturer = manufacturer.id;
this.getProducts();
}
正如您所看到的,我正在尝试将对象传递给控制器,但这不起作用。任何人都可以建议为什么它像字符串一样被传递?
Thankss
答案 0 :(得分:1)
我设法让我的工作改变了以下几行:
<select class='manufacturers' #m [(ngModel)]="selectedManufacturer" (change)="changeManufacturer(m.value)">
为:
<select class='manufacturers' [(ngModel)]="selectedManufacturer" (ngModelChange)="changeManufacturer($event)">