2014-09-24 84 views
1

所以我不能重新创建该错误(我知道这很糟糕)。该应用程序很大/很复杂,显然我还没有找出造成这个bug的原因。我想在这里发布,看看是否有人有过类似的经历:使用ng-model发生奇怪的角度复选框行为并选择/取消选择全部

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状态仍然是错误的,但复选框以某种方式被选中。任何建议将是非常有益的感谢。

+0

所以链接的plunker不会重现错误? – 2014-09-24 23:26:20

+0

可用性protip:“全部选择”不起作用 - 你不应该保留一个单独的selectState,而是根据当前是否选中任何复选框来决定它。否则,用户可能会遇到手动检查所有框并单击“全选/全无”的情况 - 并且它什么都不做! – 2014-09-24 23:27:01

+0

@mattivirkkunen这是由其他人创建的,我已经阅读了一些解决方案,这些解决方案也将选择状态附加到模型而不是物理复选框。按钮以所需的方式工作 - 首先选择全部,选择无。我无法重现错误是相当无益的。 – myfashionhub 2014-10-07 15:02:05

回答

0

的问题是,以前的程序员曾使用角度清单除NG-型号:http://vitalets.github.io/checklist-model/

目前还不清楚它是如何设置和我仍然无法复制的bug。但是我只是取出了checklist指令,并且有一个ng-click侦听器,其服务被选中/取消选中。

相关问题