みんな私は何かを実験しています。
テンプレート
<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 の後に発生しますか?