如何将布尔值分配给模型
我有两个input单选button的以下视图:
<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' };
我的问题是,当用户select任何一个单选button, fooBar
模型的types总是一个string,也就是说,该值是string“真”或string“假” – 我希望types是一个布尔值true或布尔值false。 如何将布尔值(从视图中)存储到模型中?
编辑:我只是试了一下,它仍然无法正常工作。 对于value
属性,我传递了一个返回布尔值true或false的函数,如下所示:
<input type="text" value="{{getBoolean('true')}}....>
$ scope.getBoolean = function(value){if(value ==='true')return true; 否则返回false; };
当单选button被选中时,仍然会产生一个string…
文档中的一条评论说:
虽然ng-value没有logging,但它是一个有用的指令,特别是当你绑定到一个布尔值。
<input ng-model="foo" type="radio" value="true">
可能无法正常工作
<input ng-model="foo" ng-value="true" type="radio">
确实。