ng-change之后发生角度指令数据绑定

时间:2013-09-17 21:39:05

标签: angularjs angularjs-directive

伙计们,我正在尝试一些事情。

模板

<input my-checkbox type="checkbox" ng-model="object.isChecked" ng-change="triggerChange()" ng-click="triggerClick()">

指令my-checkbox(用coffeescript编写)

angular.module('myApp')
  .directive('myCheckbox', ()->

    return {
      restrict: 'A'
      replace: true,
      template: """
                <div>
                    <input type="checkbox" ng-model="ngModel" ng-change="ngChange()" ng-click="ngClick()">
                </div>
                """
      scope: {
        ngChange: "&"
        ngClick: "&"
        ngModel: "="
      }

      }
  )

观察

当您勾选复选框时,函数triggerChange()将触发,但object.isChecked值不会更改。然后函数triggerClick()触发object.isChecked值更改。

我想知道,是否真的,数据绑定“=”发生在ng-change之后?

1 个答案:

答案 0 :(得分:0)

请参阅:ngModelOptions

  

允许调整模型更新的完成方式。使用 ngModelOptions ,您可以指定将触发模型更新和/或去抖动延迟的自定义事件列表,以便实际更新仅在计时器到期时发生;在另一次更改发生后,此计时器将被重置。

例如,试试这个:

<input type="text" ng-model="term" ng-change="fn(term)" ng-model-options="{debounce: 750}" />