0
我一直在試圖找出在我的應用程序中獲取我的Marionette應用程序實例的最佳方式。我正在使用requirejs,但是我無法弄清楚是否可以通過require獲取應用程序的實際實例。在視圖中獲取木偶應用程序實例的正確方法是什麼?
我已經使用Backbone.Wreqr.EventAggregator和回調爲了抓住應用程序實例,但感覺非常混亂。
我也想避免通過我的各種視圖的構造函數傳遞應用程序實例,因爲我覺得應該有更好的方法。
這是我的數據,主文件的底部:
define('MyApp', ['App'], function (App) {
return new App();
});
require(['MyApp'], function (app) {
app.start();
Backbone.history.start({
pushState: true
});
});
此代碼工作正常,並啓動了應用程序,但是在我的子視圖和其他組件的應用最終是不確定的。例如,在這種情況下,應用程序未定義:
define([
'marionette',
'../controllers/Controller',
'MyApp'
], function (Marionette, Controller, app) {
var controller = new Controller();
var Router = new Marionette.AppRouter({
controller: controller,
appRoutes: {
'home' : 'showUserHome'
}
});
return Router;
});
我想我已經縮小我的問題是我的路由器上的循環依賴......我會繼續挖掘。非常感謝示例代碼! – Feek