Angularjs angular 1.4.0并选择:I don';我不明白这突如其来的变化
昨天发布了angular 1.4.0。Angularjs angular 1.4.0并选择:I don';我不明白这突如其来的变化,angularjs,Angularjs,昨天发布了angular 1.4.0。 变更日志声明有一个带有“选择”的中断性变更 我以前用过这样的选择: 控制器代码: // Default initial selection $scope.filters = { someFilter: false }; 查看代码: <div class="form-group"> <label>Filter...</label> <select class="form-control in
变更日志声明有一个带有“选择”的中断性变更 我以前用过这样的选择: 控制器代码:
// 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”选项开始
现在,对于angular 1.4.0,情况并非如此:所选选项为“空白”。我在渲染视图中看到两个空白(而不是像以前那样看到一个空白) 如何修复此问题?如前所述 未使用
ngOptions
的select
指令的值始终是字符串
实际上,您正在尝试将字符串“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>
我会说这是因为
“false”
不等于false
我尝试在控制器中使用“false”,但它不起作用。我也尝试在选项(视图)的值中使用{false}
和{true}
使用字符串“false”
~@Phil你是对的,虽然有一点不同,这是它不起作用的关键:在我看来,我也有空白选项。
$scope.filters = {
someFilter: "false"
};