【发布时间】:2013-07-16 03:12:28
【问题描述】:
我有以下带有两个输入单选按钮的视图:
<label>
<input type="radio" name="test" ng-model="fooBar"
value="true" ng-change="logConsole()">
True
</label>
<label>
<input type="radio" name="test" ng-model="fooBar"
value="false" ng-change="logConsole()">
False
</label>
我的控制器看起来像:
//Initialization
$scope.fooBar = false;
$scope.logConsole = function () {
console.log("Value is : " + $scope.fooBar);
console.log("Type is : " + typeof $scope.fooBar); //Always displays 'string'
};
我的问题是,当用户选择任一单选按钮时,fooBar 模型的类型始终是字符串,即值是字符串“真”或字符串“假”——我想要类型为布尔真值或布尔假值。
如何将布尔值(从视图中)存储到模型中?
编辑:我刚刚尝试过,但仍然无法正常工作。对于 value 属性,我传递了一个返回布尔值 true 或 false 的函数,如下所示:
<input type="text" value="{{getBoolean('true')}}....>
$scope.getBoolean = 函数(值){ if (value === 'true') 返回真; 否则返回假; };
当单选按钮被选中时,它仍然会产生一个字符串...
【问题讨论】:
-
尝试取出value属性。让 angular 绑定在 fooBar 的当前值中。
-
@DavinTryon 不,不起作用。该模型获得一个
undefined值。 -
你为什么不直接使用 value=true
-
@Ajaybeniwal 仍然返回 String true 而不是 Boolean true...
标签: angularjs