如何将布尔值分配给模型

我有两个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"> 

确实。