我有这个html:
<select ng-model="group.newCriterionType">
<option ng-repeat="type in group.availableTypes" value="{{type}}" ng-selected="$first">{{type}}</option>
</select>
还有这个模型代码(使用 jresig 的Class
迷你库)
var FilterGroup = Class.extend({
className: 'FilterGroup',
widgetType: 'group',
init: function(name) {
this.name = name;
this.availableTypes = FilterTypes;
this.newCriterionType = this.availableTypes[0];
this.updateAvailableTypes();
},
});
但是,我的选择中仍然有一个空元素。根据到目前为止我在 SO 上看到的所有答案,这显然是您的模型值包含不正确值时的行为。然而:
- 我在一些
console.log
语句中添加了检查值 - 肯定会调用此代码,因为
availableTypes
正在设置 - 它把它从它循环的数组中拉出来。这怎么可能是一个不正确的值?
- 即使我将 ng-selected 拉出,它仍然存在
- 如果我使用 ng-options 而不是循环遍历它们,它仍然存在(尽管这意味着我不能将值设置为与文本相同而不将其转换为对象)
任何线索都非常感谢。
詹姆士