1
とおりAngular2フォームBIDIマッピング及び活字体列挙型プロパティ次のテンプレート所定数
<select id="IdCtrl" class="form-control" required [(ngModel)]="obj.enumProperty">
<option *ngFor="let p of EnumVals" [value]="p.value">{{p.name}}</option>
</select>
EnumVals: [{name: string, value: number}]
とenumProperty
は、いくつかの活字体enum
あります。
ここで、双方向マッピングによってstring
という値が生成され、number
ではなくなります。私は何か間違っているのですか、それとも正しい行動ですか?
P.S.私はいつも手動でnumber
にキャストすることができましたが、私はそれを舞台裏でやってみたいです。
私はそれが*目標*ではないと確信しています。目標は、文字列が型安全でない型安全な言語を持つことです。 –
しかし、なぜあなたは言語を判断しているのですか(フレームワークは言語ではありません)? とにかく、ここでは2つの双方向バインディング= ngModelのobj.enumPropertyとngModelのEnumValsの2つのバインディングを使用しています。 角度変化検出システムは、現在のバインディング(p.value)に関連する要素の変更のみを監視し、ngmodelは、文字列を常に返す '
あなたはちょうどポイントを逃しています。 –