gpt4 book ai didi

angularjs - 将 ngTrueValue 和 ngFalseValue 设置为数字

转载 作者:行者123 更新时间:2023-12-03 07:55:07 24 4
gpt4 key购买 nike

更新 :问题对于最新的 Angular 版本已过时,请参阅 tsh 对此帖子的评论

我已将复选框绑定(bind)到一个值:

<input type="checkbox" ng-model="checkbox" ng-true-value="1" ng-false-value="0" />

复选框的值在 Controller 中设置为 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')}}"

它们都不起作用。如何使 Angular 将参数视为数字?

最佳答案

您可以使用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 - 将 ngTrueValue 和 ngFalseValue 设置为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com