选择不改变

时间:2016-09-05 17:23:15

标签: javascript angularjs angular

我有一个连接到我的模型的选择,它具有键和值。我有一个连接到函数的ngModelChange来检查选择值是什么。选择显示用户的键,模型更改显示控制器的值。但是,当我尝试从选择模型中获取Key时,只显示我实例化它的值。我如何从我的选择中获得密钥?

<select name="sel1" class="form-control" [ngModel]="selectedItem" (ngModelChange)="onChange($event)" >
    <option [value]="item.value" *ngFor="let item of items">{{item.key}}</option>
<select>

组件

private items:Array<any> = [
    { key:"Price", value:"itemPrice" },
    { key:"Year Made", value:"itemYear" },
    { key:"Model", value:"itemModel" },
    { key:"Customer Rating", value:"itemRating" },
    { key:"Newest Arrivals", value:"itemNewAriv" },
]; 
private selectedItem = this.items[0]; 
onChange(value) {
    console.log("Test"); 
    console.log(value); 
    console.log(this.selectedItem.key);  // Does not change 
}

1 个答案:

答案 0 :(得分:1)

如果item是对象(不是字符串),则应使用[ngValue]代替[value]

 <option [ngValue]="item"