0
有些東西我並不真正瞭解如何使用requirejs和marionettejs。以requirejs開始牽引木偶模塊
所以我試圖用requirejs來使用牽線木偶模塊。
//app.js
define(["marionette"], function(Marionette){
var App = new Marionette.Application();
App.startSubApp = function(appName, args) {...}
App.on("initialize:after", function(){
require(["app/module1"], function() {
Backbone.history.start();
App.startSubApp("module1");
});
}
});
//module1.js
define(["app"], function(App){
App.module("module1", function(Module1, App, Backbone, Marionette, $, _){
Module1.startWithParent = false;
Module1.onStart = function(){
console.log("starting module1");
};
}
});
問題是onStart處理程序從未觸發,因爲在App.startSubApp中,module1已經實例化。
我設法在module1.js調用startSubApp,而不是來解決這個問題:?
//app.js
define(["marionette" , 'vent'], function(Marionette, vent){
var App = new Marionette.Application();
App.startSubApp = function(appName, args) {...}
App.on("initialize:after", function(){
require(["app/module1"], function() {
Backbone.history.start();
vent.trigger("start:module1");
});
}
});
//module1.js
define(["app",'vent'], function(App, vent){
App.module("module1", function(Module1, App, Backbone, Marionette, $, _){
Module1.startWithParent = false;
Module1.onStart = function(){
console.log("starting module1");
};
}
vent.on('start:module1', function(){
App.startSubApp("module1");
});
});
我「M相當新的都requirejs和marionettejs所以能有人向我解釋了這種現象的原因