要するに:
カスタムコンポーネントにイベントリスナーが必要です。これにより、すべてのインスタンス(編集せずに)が同時に反応し、親コンテナー内のディスパッチされたイベントによって起動されます。
詳細に:
タブナビゲーターを備えたカスタムコンポーネントがあります。(タブは、言語ごとに異なる設定を表示することを目的としています。)
すべての言語のボタンが付いたボタンバーがあります。
カスタムコンポーネントのインスタンスはたくさんあります。
言語バーのボタンをクリックして、すべてのインスタンスを同じタブに切り替えたい(カスタムコンポーネントにはタブを変更するロジックが含まれています)。
カスタムコンポーネントの各インスタンスのイベントリスナーを追加することでそれを行うことができるので、タブを変更する内部関数を呼び出します。しかし、それは非常に結合しているようですよね?
コンポーネントのマスタークラスで実行できるので、親コンテナのイベントをリッスンします。
私の考えでは、このコードは機能するはずですが、機能しません(明らかに、カスタムイベントを使用して新しい言語値を渡すことはできません)。
this.parent.addEventListener("lang_change", this.change_tab);
このようにして、コンポーネントのインスタンスをドロップするだけで、それ自体が機能することを確認できます。
前もって感謝します