angularjs – 将ngTrueValue和ngFalseValue设置为数字

前端之家收集整理的这篇文章主要介绍了angularjs – 将ngTrueValue和ngFalseValue设置为数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经绑定了一个值的复选框:
<input type="checkBox" ng-model="checkBox" ng-true-value="1" ng-false-value="0" />

在控制器中复选框的值设置为1:

function Controller($scope) {
    $scope.checkBox = 1
}

但是,最初该复选框未出现选中状态。如果我将$ scope.checkBox的初始值更改为“1”,它会。 (jsfiddle demo)

我试过各种各样的变化:

ng-true-value="{{1}}"
ng-true-value="{{Number(1)}}"
ng-true-value="{{parseInt('1')}}"

他们没有工作。我如何使角度处理参数作为一个数字?

你可以使用 ngChecked,如果表达式是真实的,那么将在元素上设置特殊属性“checked”
<input type="checkBox" 
    ng-model="checkBox" 
    ng-true-value="1" 
    ng-false-value="0" 
    ng-checked="checkBox == 1" />

你可以使用$ scope。$ watch将它转换为数字

$scope.$watch(function(){
    return $scope.checkBox;
},function(){
    $scope.checkBox = Number($scope.checkBox);
    console.log($scope.checkBox,typeof $scope.checkBox);
},true);

DEMO

猜你在找的Angularjs相关文章