Angular cast选择值为int

gru*_*unk 33 forms casting angular

我有一个不同选择的表单,如:

<select [(ngModel)]="selected.isConnected" (ngModelChange)="formChanged()" name="etat" id="etat" class="form-control">
    <option value="0">Not connected</option>
    <option value="1">Connected</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

我的后端期望在"isConnected"属性中收到一个int.不幸的是,只要我更改select的值,属性就会转换为字符串:

{
    isConnected : "0", // 0 expected
}
Run Code Online (Sandbox Code Playgroud)

对于标准<input>我可以使用,type="number"<select>我是一无所知.

有没有办法强制角度2将数据转换为int?

Ant*_*ère 86

使用[ngValue]代替"value":

<select [(ngModel)]="selected.isConnected" id="etat">
    <option [ngValue]="0">Not connected</option>
    <option [ngValue]="1">Connected</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

  • 工作并且与角度预期的一样简单. (2认同)
  • AngularJs 也可以为仍在使用它的任何人使用...只需删除 ng-value 属性周围的方括号即可。 (2认同)