Backbone.js 如何从视图访问木偶路由器?
因为我使用requirejs来保持代码模块化,所以我希望能够访问视图中的路由器实例Backbone.js 如何从视图访问木偶路由器?,backbone.js,marionette,Backbone.js,Marionette,因为我使用requirejs来保持代码模块化,所以我希望能够访问视图中的路由器实例 window.appRouter = new Router({ controller: this.routerController }); 显然,我不想使用Windows,但仍然可以在我的应用程序中使用路由器 做这件事的最佳实践或木偶方式是什么?您可以将路由器存储在应用程序实例上 例如,您在应用程序启动时对路由器进行实例验证: onStart: function() { this.router = ne
window.appRouter = new Router({ controller: this.routerController });
显然,我不想使用Windows,但仍然可以在我的应用程序中使用路由器
做这件事的最佳实践或木偶方式是什么?您可以将路由器存储在应用程序实例上 例如,您在应用程序启动时对路由器进行实例验证:
onStart: function() {
this.router = new Router({ controller: this.routerController });
}
通常的做法是将应用程序实例存储为全局实例,在这种情况下,您可以通过窗口访问router inst
如果您使用木偶.Module-您可以通过模块回调中的第二个参数访问它:
MyApp.module("module", function(mod, app){
//app.router
});
我看到的最后一种方法是将路由器放在一个单独的模块中
MyApp.module("router", function(mod, app){
//var ctrl = { some: controller }
app.router = new Router({ controller: ctr });
});
所以在这种情况下,您可以通过App.router或App.modulerouter访问路由器,也可以使用require.js或browserify获取它。它比globalvar更简洁,但只有在有充分理由不使用内置模块系统的情况下才有意义。