3

Angular2 (ベータ) アプリで 2way データ バインディングに問題があります。コンソールにエラーがないため、次のスニペットが入力テキスト フィールドでは機能するのに、選択フィールドでは機能しない理由を推測するのは非常に困難です。アイデアはありますか?

{{model.quantity}} は選択したアイテムの変更で更新されませんが、{{model.name}} はテキスト フィールドで更新されます。

<div class="form-group">
                    <label>Name</label>
                    <input type="text" class="form-control" 
                    [(ngModel)]="model.name" > {{model.name}} 
                </div>
                <div class="form-group">
                        <label>Quantity</label>
                        <select class="form-control" [(ngModel)]="model.quantity">
                          <option value="1">1</option>
                          <option value="2">2</option>
                          <option value="3">3</option>
                        </select> {{model.quantity}} 
                </div>

一方、私がこのようなことをすると:

ts ファイル内:

 logChange(input:any) {
    console.log('Selected value:',input);
}

ビュー テンプレートで:

 <div class="form-group">
                            <label>Quantity</label>
                            <select class="form-control" [(ngModel)]="amount" #amountField (change)="logChange(amountField.value)">
                             <option value="1">1</option>
                             <option value="2">2</option>
                             <option value="3">3</option>
                            </select>
                            {{amount}} 
                    </div>

コンソールには、各変更イベントの値が表示されます。

4

2 に答える 2

1

Beta.0 でテスト済みです。

このプランカーを考えてみましょう:

 <select [(ngModel)]="name"> 
    <option *ngFor="#n of names" [attr.value]="n">{{n}}</option>
  </select>

https://plnkr.co/edit/MMNWWh?p=info

于 2016-01-27T14:41:59.600 に答える
0

おそらく、この質問で説明されているのと同じ問題です: Angular 2: How to get the selected value from different options of a form? .

@Mubashir は彼の答えで解決策を提供します...

お役に立てば幸いです、ティエリー

于 2016-01-27T13:46:54.113 に答える