いくつかのサブモジュールを備えたマリオネット モジュールがあります。親モジュールには、イベントをトリガーするためにサブモジュールで使用したい独自のイベントアグリゲーターがあります。アプリケーションのイベント アグリゲーターを使用できることはわかっていますが、これらのイベントは、アプリケーション全体ではなく、親モジュールとその子に固有のものです。
次のように、アプリケーションのイベント アグリゲーターでイベントの名前を付けることができます。
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 を結びつけすぎると思います。
他のアイデアやオプションはありますか?これらは良いアイデアかもしれませんが、その利点を理解していないだけです。