使用ng-model进行奇怪的角度复选框行为并选择/取消选择全部

时间:2014-09-24 23:22:30

标签: angularjs data-binding checkbox

所以我无法重现这个错误(我知道它很糟糕)。该应用程序很大/很复杂,显然我还没有找出导致该错误的原因。我想在这里发帖,看看是否有人有类似的经历:

http://plnkr.co/edit/nsOg4QMXLwiEfic1spXF?p=preview

$scope.toggleState = function() {
    for (var i=0, len = $scope.services.length;i<len; i++){
        $scope.services[i].checked = $scope.selectState;
    }
  $scope.selectState = !$scope.selectState;
};

错误在于,在取消选择所有选项之后,选择一个标准服务也会选择所有高级服务。选择全部后,取消选择一个高级服务也会取消选择所有标准服务。

什么可能触发这个?我注意到,当不打算选择源时,service.checked状态仍然为false,但是以某种方式选中了复选框。任何建议都非常有用,谢谢。

1 个答案:

答案 0 :(得分:0)

问题在于,除了ng-model之外,之前的程序员还使用了角度检查表:http://vitalets.github.io/checklist-model/

目前还不清楚它是如何设置的,我仍然无法复制该错误。但我只是拿出了checklist指令,并且有一个ng-click监听器,用于检查/取消选中服务。