Angularjs 防止复选框上出现默认值不会';t防止ng模型更改

Angularjs 防止复选框上出现默认值不会';t防止ng模型更改,angularjs,checkbox,angularjs-ng-model,Angularjs,Checkbox,Angularjs Ng Model,由于某些动画,如果用户太快切换复选框的状态,则会出现视觉故障 为了防止这种情况发生,我想限制改变状态的频率。我认为一个简洁的方法是一个指令 我已经成功地制定了一个指令,防止ng click以超过特定频率触发,但复选框有一个特定问题 以下是指令代码(coffeescript): 这也说明了我的问题 总结 ngModel在单击其上指定的复选框时被更新,即使默认设置被阻止,导致复选框从不被选中。我怎样才能避免这种情况 理想情况下,我不想与ngModelController集成,因为我希望使指令尽可能抽

由于某些动画,如果用户太快切换复选框的状态,则会出现视觉故障

为了防止这种情况发生,我想限制改变状态的频率。我认为一个简洁的方法是一个指令

我已经成功地制定了一个指令,防止
ng click
以超过特定频率触发,但复选框有一个特定问题

以下是指令代码(coffeescript):

这也说明了我的问题

总结
ngModel
在单击其上指定的复选框时被更新,即使默认设置被阻止,导致复选框从不被选中。我怎样才能避免这种情况


理想情况下,我不想与
ngModelController
集成,因为我希望使指令尽可能抽象。

ng model
指令在预链接阶段绑定事件。因此stopPropagation不起作用

在预链接而不是后链接中处理您的逻辑


这是更新的plunker

您添加的plunker为空。请更新它。谢谢你指出这一点-我忘了点击保存。尝试新链接。
angular.directive 'pxnMaxClickFreq', ($timeout)->

  restrict: 'A'

  # Make sure our event binding runs before any other directive
  priority: -100

  link: (scope, element, attributes)->
    timer = false
    element.on 'click', (e)->
      if timer
        e.preventDefault()
        e.stopImmediatePropagation()
      else
        timer = true
        $timeout( (-> timer = false), attributes.pxnMaxClickFreq )