У меня есть (упрощенная) директива
angular.module('myApp')
.directive('myButton', function () {
return {
restrict: 'E',
scope: {
callbackFn: '&'
},
template: '<button ng-click=ca;;backFn($evenb)'
}
});
Теперь в каком-то родительском контроллере я определил функцию обратного вызова:
this.myCallback = function ($event) {
this.doIt($event);
}
и HTML:
<my-button callback-fn="page.myCallback()"></my-button>
(Я использую такие вещи, как bindToController
и controllerAs
)
Проблема в том, что $event
никогда не передается myCallback
, что, скорее всего, связано с тем, как я привязываю эту функцию (&
). Но, с другой стороны, внутри myCallback
я хотел бы использовать this
.
Есть ли способ исправить это? не делая таких вещей, как
var self = this;
this.myCallback = function ($event) {
self.doIt($event);
}