分配给模型的布尔值不会预先选择相应的选项 - 首先显示一个空选项:
选择
<select data-ng-model="scriptData.privacy" data-ng-options="privacyOption.value as privacyOption.label for privacyOption in privacyOptionsSelect track by privacyOption.value"></select>
控制器中的选项:
$scope.privacyOptionsSelect=[
{
label:'Registered users only can view this',
value: false
},
{
label:'Anyone with the link can view this',
value: true
}
];
scriptData.privacy
设置为false
。
答案 0 :(得分:1)
使用格式为的ngOptions
表达式时应该小心:
选择作为标签
与 要解决此问题,您有两种选择。您可以跳过 或者您可以更改 对于完整(可能更好)的解释,I recommend the track by
一起。这是因为track by
已应用于分配给ngModel
的值,因此,如果您选择的格式为privacyOption.value
,则track by
表达式实际应用于该值。这就是它没有成功选择初始值的原因。 track by
。这可行:<select data-ng-model="scriptData.privacy"
data-ng-options="privacyOption.value as privacyOption.label for privacyOption
in privacyOptionsSelect"></select>
select as
- 表达式以选择整个privacyOption
- 对象。这也可以(注意ngModel-directive也改变了):<select data-ng-model="scriptData"
data-ng-options="privacyOption as privacyOption.label for privacyOption
in privacyOptionsSelect track by privacyOption.value"></select>
ngOptions
documentation。
答案 1 :(得分:0)
尝试使用ng-repeat代替ng-options,将ng-repeat应用于select中的选项元素。