私の質問は、Maquette Javascriptフレームワークのコンポーネント間の通信についてです。Maquetteのコンポーネント間の通信
IはApplication
コンポーネントで使用Menu
副成分有し想像:Application
インスタンスは、メニュー項目が(例えば)アプリケーションで表示されるメインコンテンツを交換するためにMenu
インスタンスにおいて選択されたときに知りたいです。言い換えれば、子コンポーネントとその親コンポーネントの間で通信する方法が必要です。これはMaquetteでどのように達成できますか?
確かに、アプリケーションインスタンスが所有するコールバックをメニューインスタンスに渡すことができます。これは、アイテムが選択されたときに呼び出されます。しかし、「選択」イベントはメニューコンポーネントの「レンダリング側」の側面に過ぎないので、私はこれをやるのがやめたいので、私のMenu
APIに漏れないようにイベントを好むでしょうが、レンダリングの内部にとどまります関数/メソッドを使用します。
"レンダリング側"でのイベントを処理したいと思います。しかし、私はのレンダリング関数からCustomEvent
を送信し、Application
のレンダリング関数内にCustomEvent
ハンドラを登録する必要があることを意味します。このユースケースはマケットでサポートされていますか?私のユースケースにはCustomEvent
の代替手段がありますか?
ありがとうございます!
PS:質問を投稿しました。#71より多くの回答を得るためです。
なぜDOM階層を使用することをおすすめしませんか?パフォーマンスの問題のため? –
私は、DOM階層を使用すると、不必要に複雑なものになると思います。しかし、それが事実であるかどうか私は不思議です。おそらく、あなたはこれを達成する方法を示すためにjsfiddleまたはcodepenを作ることができますか? –
現在選択されている項目がクリックイベントハンドラの外でプログラムによって変更された場合、イベントがトリガされる必要があるかもしれないことに気付きました。したがって、レンダリング側のみのイベントではありません。私は最終的にあなたの答えが行く方法だと思います。 –