У меня возникли проблемы, связанные с вложенным компонентом. Я хотел бы, чтобы компонент мог запускать метод в контроллере controller.js (или помощнике) вложенных компонентов. Я пробовал оба события и через и не повезло. Вот пример разметки:Aura.js Компоненты молнии: запуск методов вложенного/дочернего компонента из супер/родительского компонента?
<!-- myEvent.evt -->
<aura:event type="APPLICATION">
</aura:event>
<!-- super-component -->
<aura:component>
<aura:registerEvent name="myEventName" type="c:myEvent"/>
<c:my_Nested_Component />
<ui:button press="{!fireEvent}"
<aura:component>
//super-component_controller.js
({
fireEvent: function(component){
var myEvent = component.getEvent("myEventName");
myEvent.fire();
console.log('event fired');
}
})
------------------------------------------
<!-- nested-component -->
<aura:component>
<aura:handler name="myEventName" event="c:c:myEvent" action="{!c.gotEvent}" />
<aura:component>
//nested-component_controller.js
({
gotEvent: function(component, event){
console.log('received event!');
}
})
Это не работает. Я попробовал тот же самый точный код, который я разместил на вложенном компоненте на супер-суперкомпоненте, и он отлично работал. Супер-супер-компонент получил событие. Но вложенный компонент не способен. Я полагал, что это связано с событиями, которые только пузырятся (хотя в документации говорится, что это касается только событий Component, а не событий приложений).
Так что другой вариант, который я читаю в Интернете, используется. Я попытался сделать это, но это тоже не помогло говорить с вложенным компонентом.
Как родительский компонент может вызвать метод по вложенному компоненту?
Спасибо