AngularJS select创建值为"?object:null?"的选项.并且在绑定为null时不使用空的默认选项

Mus*_*hin 13 angularjs

这是代码的样子

<select ng-model="nullableInt">
  <option></option>
  <option value="0">First option</option>
  <option value="1">First option</option>
  <option value="2">First option</option>
</select>
Run Code Online (Sandbox Code Playgroud)

当nullableInt为null时,生成的html为

<select ng-model="nullableInt">
  <option></option>
  <option value="? object:null ?"></option>
  <option value="0">First option</option>
  <option value="1">First option</option>
  <option value="2">First option</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在这里的plunkr转载:http://plnkr.co/edit/05pBEMJppmkrn3nFgYdk?p = info

值得一提的是,我正试图避免使用ng-options,为AngularJS创建一个端点来消耗一些真正不会经常变化的数据(如果有的话)似乎有些过分.

dmu*_*ngs 17

更新3/29/2017:

正如Jorge Rodrigues dos Santos所说,对于较新版本的角度,这应该以不同的方式处理.以下是角度1.6.3的当前文档

可选地,可以将单个硬编码元素(其值设置为空字符串)嵌套到元素中.然后,此元素将表示null或"未选择"选项.请参阅下面的示例进行演示

https://docs.angularjs.org/api/ng/directive/select


Angular正在创建一个表示null值的新选项.它没有找到您在HTML中提供的选项之一.

要绑定到null,请在第一个选项上设置value ="null"

<option value="null"></option>
Run Code Online (Sandbox Code Playgroud)

http://plnkr.co/edit/kzPVu4hiMcP6wA6crGYt?p=preview