我的复选框的默认值为" true"我在同一表格的其他地方使用了复选框$viewValue
。在应用开始时,复选框$viewValue
显示" false"即使选中该复选框,也只有在用户切换/打开复选框之前。 What's going on here?
HTML
<body ng-app="myApp">
<form name="testForm">
<label>The Checkbox
<input type="checkbox" name="testCheck" data-ng-model="testCheck" data-ng-checked="true"></input>
</label>
</form>
<p>{{ testForm.testCheck.$viewValue }}</p>
</body>
的javascript
angular.module('myApp', []);
答案 0 :(得分:3)
不要将ng-checked
与ng-model
一起使用,它们不能很好地协同工作。使用ng-checked只会在复选框上设置checked属性,它不会自动更新ng-model
并且存在checked属性将搞乱最初的模型变化。
使用controller将模型初始化为true。
例如: -
$scope.testCheck = true;
只是这样做:
<input type="checkbox" name="testCheck" data-ng-model="testCheck"></input>
您可以使用ng-init
从视图中初始化模型,如:
<body ng-app="myApp" ng-init="testCheck = true">
虽然使用ng-init
进行初始化属性不合适,但是如果ng-repeat则使用别名特殊属性。