2016-09-05 24 views
0

キーと値を持つモデルに選択肢が追加されています。私は選択値が何であるかを調べる関数にngModelChangeをフックしました。選択はユーザーへのキーを示し、モデル変更はコントローラーへの値を示します。しかし、私が選択モデルからキーを取得しようとすると、それをインスタンス化した値が表示されます。私の選択からどのようにキーを取得するのですか?
選択しないでください

ページ

<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

itemオブジェクト(ない文字列)である場合、[ngValue]代わり[value]を使用すべきである。

<option [ngValue]="item" 
+0

さて、しかしのSelectedItem値は変更されません。 – John

+0

バインディングで '.value'を削除するのを忘れました。 '