ネストされたコンポーネントとの通信に問題があります。コンポーネントがネストされたコンポーネントの controller.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!');
}
})
これは動作しません。スーパースーパーコンポーネントのネストされたコンポーネントに配置したのとまったく同じコードを試してみたところ、完全に機能しました.スーパースーパーコンポーネントはイベントを受け取りました. しかし、ネストされたコンポーネントはできません。これは、イベントのみが発生することに関係していると考えました (ただし、ドキュメントには、アプリケーション イベントではなく、コンポーネント イベントの場合のみであると記載されています)。
したがって、私がオンラインで読んだ他のオプションは、を使用しています。これをやってみましたが、これもネストされたコンポーネントと話すには機能しませんでした。
親コンポーネントは、ネストされたコンポーネントのメソッドをどのように起動させることができますか?
ありがとうございました