マリオネットモジュールは「スタート」イベントを発射しない
-
20-12-2019 - |
質問
このようなマリオネットモジュールを作成しました
App.module("HeaderApp", function (HeaderApp, App, Backbone, Marionette, $, _) {
HeaderApp.on('start', function () {
...do something....
});
});
.
App.module("HeaderApp").start()
を呼び出すと、イベントリスナは起動しませんが、手動で実行されたイベントが実行されます。
Marionette Documentation これが機能する必要があるようです。任意のアイデア?
解決
おそらく、モジュールがアプリで自動的に起動し、したがってイベントリスナーを登録する時までにすでに実行されているためです。
自動起動を防ぐために、startWithParent
をfalseに設定します( https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.application.module.md#preventing-auto-start-of-modules ):
App.module("HeaderApp", function (HeaderApp, App, Backbone, Marionette, $, _) {
HeaderApp.startWithParent = false;
HeaderApp.on('start', function () {
...do something....
});
});
.
所属していません StackOverflow