1

伙计们,我正在尝试一些东西。

模板

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

指令 my-checkbox(用咖啡脚本编写)

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之后是真的吗?

4

1 回答 1

0

请参阅:ngModelOptions

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

例如,试试这个:

<input type="text" ng-model="term" ng-change="fn(term)" ng-model-options="{debounce: 750}" />
于 2015-08-01T16:57:06.077 回答