1
假定下列模板:Angular2形成比迪映射和打字稿枚举属性为数字
<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,另一个用于ngFor的EnumVals。 角度变化检测系统只监视与当前绑定(p.value)有关的元素变化,而ngmodel仅监听来自'
你只是错过了重点。 –