昨天发布角度1.4.0 更改日志表明“选择”有一个重大变化。
我过去常常使用这样的选择:
控制器代码:
// Default initial selection
$scope.filters = {
someFilter: false
};
查看代码:
<div class="form-group">
<label>Filter...</label>
<select class="form-control input-sm" ng-model="filters.someFilter">
<option value=""></option>
<option value="true">is true</option>
<option value="false">is false</option>
</select>
</div>
选择将从选择“is false”选项开始。
现在,角度为1.4.0,情况并非如此:
所选选项为“空白”。我在渲染视图中看到两个空白(而不是之前的一个)
我该如何解决这个问题?
答案 0 :(得分:2)
如上所述in the docs ......
没有
select
的{{1}}指令的值始终是一个字符串。
基本上,您正在尝试将字符串ngOptions
与布尔值"false"
进行比较。
一种可能的解决方案是使用false
,例如
ngOptions
并在您的模板中
$scope.options = [
{ val: true, label: 'is true' },
{ val: false, label: 'is false' }
];
或者,您可以在模型中使用字符串,例如
<select ng-model="filters.someFilter"
ng-options="opt.val as opt.label for opt in options">
<option value=""></option>
</select>