Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了AngularJS ng-checked不更改模型值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有复选框输入的对象表.如果选中了对象的复选框,则object.ischecked值将设置为true,如果未选中,则将该值设置为false.但是,我有@L_755_1@master复选框,用于检查/取消选中表中的所有复选框.但是,这不会更新object.ischecked值.如何让master复选框更改object.ischecked值?

解决方法

问题必须是你不在Angular内触发复选框.如果你想让Angular魔法工作 – 你必须在Angular范围内进行所有的模型操作.我创建了 a plunker to demonstrate.

的index.html

<!DOCTYPE html>
<html data-ng-app="demo">
  <head>
    <script data-require="jquery@1.9.0" data-semver="1.9.0" src="//cdnjs.cloudFlare.com/ajax/libs/jquery/1.9.0/jquery.js"></script>
    <script data-require="angular.js@*" data-semver="1.0.7" src="http://code.angularjs.org/1.0.7/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>
  <body data-ng-controller="DemoController">
    <div data-ng-repeat="object in objects">
      {{object.namE}}: <input type="checkBox" data-ng-model="object.ischecked">
    </div>
    Master: <input type="checkBox" data-ng-click="triggerAll()">
    {{objects}}
  </body>
</html>@H_618_14@ 
 

的script.js

"use Strict";

var demo = angular.module("demo",[]);

function DemoController($scopE) {
  $scope.objects = [
    {
      name : "First",ischecked : true
    },{
      name : "Second",ischecked : false
    }
  ]

  $scope.triggerAll = function(){
    angular.forEach($scope.objects,function(value){
      value.ischecked = !value.ischecked;
    })
  }
}@H_618_14@ 
 

注意触发所有复选框都是使用NgClick完成的,而不是通常的onClick或jQuery处理程序.这允许Angular运行脏检查并且行为正确.

大佬总结

以上是大佬教程为你收集整理的AngularJS ng-checked不更改模型值全部内容,希望文章能够帮你解决AngularJS ng-checked不更改模型值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。