【问题标题】:Checkbox $viewValue showing as 'false' when checked复选框 $viewValue 在选中时显示为“假”
【发布时间】:2015-05-20 23:00:11
【问题描述】:

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

【问题讨论】:

    标签: javascript html angularjs


    【解决方案1】:

    不要将ng-checkedng-model 一起使用,它们不能很好地协同工作。使用ng-checked 只是在复选框上设置checked 属性,它不会自动更新ng-model,并且checked 属性的存在会弄乱初始模型改变。

    使用控制器将模型初始化为真。

    例如:-

    $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 用于对特殊属性进行别名处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 2019-03-14
      • 2016-02-23
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多