Каков наилучший способ передачи функций между внутренними компонентами в AngularJS 1.5?
Мне было интересно, как лучше всего передать функции через 2 или более уровней компонентов? Нет простого способа пропустить перенос функции при использовании привязок '&'?
Вот пример использования:
angular.module('app', []).component('app', {
controller: class AppController {
doSomething (data) {}
},
template: `
<sub-component on-do-something="$ctrl.doSomething(data)">
</sub-component>
`
})
PS: я использую ngRedux, поэтому такой сценарий очень распространен
РЕДАКТИРОВАТЬ:
Проблема заключается в следующем: для того, чтобы код, приведенный выше, работал, каждый контроллер внутреннего компонента выглядел бы так:
.component('subComponent', {
bindings: {
doSomething: '&'
},
controller: function SubComponentController () {
this._doSomething = param => this.doSomething({data: param});
},
template: `
<inner-component do-something="$ctrl._doSomething(data)">
</inner-component>
`
});
.component('innerComponent', {
bindings: {
doSomething: '&'
},
controller: function InnerComponentController () {
this._doSomething = param => this.doSomething({data: param});
},
template: `
<sub-inner-component do-something="$ctrl._doSomething(data)">
</sub-inner-component>
`
});
И тогда мне придется пройти вниз_doSomething
вместоdoSomething
непосредственно.
PS: я не использую здесь transclusion