2014-01-08 56 views
1

我已創建一個木偶模塊這樣木偶模塊不費一槍「開始」事件

App.module("HeaderApp", function (HeaderApp, App, Backbone, Marionette, $, _) { 
    HeaderApp.on('start', function() { 
     ...do something.... 
    }); 
}); 

當我打電話App.module("HeaderApp").start()事件監聽器不火,但是如果我手動觸發它會運行事件。

marionette documentation它看起來好像這應該工作。有任何想法嗎?

回答

2

這很可能是因爲模塊會自動啓動應用程序,因此在您註冊事件偵聽器時已經運行。

爲了防止自動啓動,設置startWithParent爲假(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.... 
    }); 
}); 

然後,你期望它應該工作。

+0

感謝您的回覆David!非常巧合的是,你給我的幫助,因爲我實際上在使用你的書本木偶 - 「溫柔的介紹」作爲參考,喜歡它! – neolaser

+0

很高興聽到它,希望你會學到很多東西! –