Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs angular 1.4.0并选择:I don';我不明白这突如其来的变化_Angularjs - Fatal编程技术网

Angularjs angular 1.4.0并选择:I don';我不明白这突如其来的变化

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

昨天发布了angular 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”选项开始

现在,对于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"
};