Checkbox $ viewValue显示为' false'检查时

时间:2015-05-20 14:53:00

标签: javascript html angularjs

我的复选框的默认值为" 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', []);

1 个答案:

答案 0 :(得分:3)

不要将ng-checkedng-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则使用别名特殊属性。