我已经绑定了一个值的复选框:
<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);