2

いくつかのサブモジュールを備えたマリオネット モジュールがあります。親モジュールには、イベントをトリガーするためにサブモジュールで使用したい独自のイベントアグリゲーターがあります。アプリケーションのイベント アグリゲーターを使用できることはわかっていますが、これらのイベントは、アプリケーション全体ではなく、親モジュールとその子に固有のものです。

次のように、アプリケーションのイベント アグリゲーターでイベントの名前を付けることができます。

App.module("Parent.Child", function(self, App, ...) {

  // somewhere in the child
  App.vent.trigger("Parent:something");
});

でも、本当はその道に進まないほうがいいと思います。親モジュールとその子に対して単一のイベント アグリゲーターを使用するというアイデアは、よりクリーンだと思います。親からアプリケーションへ、子から親への単一のインターフェースを持つのが好きですが、おそらくこの考えは間違っていますか?

次のように、App オブジェクトから親モジュールのイベント アグリゲーターにアクセスすることもできます。

App.module("Parent.Child", function(self, App, ...) {

  // somewhere in the child...
  App.Parent.vent.trigger("something");
});

でも、それもしないほうがいいです。それは Child モジュールと App を結びつけすぎると思います。

他のアイデアやオプションはありますか?これらは良いアイデアかもしれませんが、その利点を理解していないだけです。

4

2 に答える 2