tôi có (giản thể) chỉgóc: Bind chức năng gọi lại sử dụng & và pass-trong lập luận
angular.module('myApp')
.directive('myButton', function() {
return {
restrict: 'E',
scope: {
callbackFn: '&'
},
template: '<button ng-click=ca;;backFn($evenb)'
}
});
Bây giờ, trong một số bộ điều khiển cha mẹ tôi đã xác định một hàm callback:
this.myCallback = function ($event) {
this.doIt($event);
}
và HTML:
<my-button callback-fn="page.myCallback()"></my-button>
(tôi đang sử dụng những thứ như bindToController
và controllerAs
)
Vấn đề là $event
không bao giờ được chuyển đến myCallback
, rất có thể phải làm với cách tôi ràng buộc chức năng này (&
). Nhưng mặt khác, bên trong myCallback
Tôi muốn sử dụng this
.
Có cách nào để sửa lỗi này không? mà không làm những việc như
var self = this;
this.myCallback = function ($event) {
self.doIt($event);
}
cảm ơn bạn! Đấu tranh cho lứa tuổi với điều này. Lời giải thích tuyệt vời –