我正在启动一个 Marionette 应用程序,并尝试构建它。所以现在我有:
define(["marionette", "handlebars", "routes"], function(Marionette, Handlebars, Route){
var App = new Marionette.Application();
...
App.addRegions({
header: "#header_region",
...
});
App.addInitializer(function(options){
...
new Route();
Backbone.history.start();
});
return App;
});
我的路线如下:
define(["marionette", "app", "header/view"], function(Marionette, App, headerView){
var Route = Backbone.Marionette.AppRouter.extend({
routes : {
'' : 'home'
},
home: function(){
var header_view = new headerView();
App.header.show(header_view);
...
}
});
return Route;
});
显然,我在 App.header.show(header_view) 的依赖项中有一个循环。解决的常用方法是什么?您如何构建 Marionette 应用程序?
最佳答案
这是一个很好的例子,在构建我的第一个 Marionette 应用程序时帮助我继续前进:https://github.com/BoilerplateMVC/Marionette-Require-Boilerplate/tree/master/public/js/app
当前设置路由文件的方式是实现此目的的主要方式。您应该创建一个 Marionette Controller 来响应应用程序路由。
此外,您还会看到此人创建 init 文件来指定所有启动逻辑(指定全局静态变量并实例化要使用的 Controller 和路由器)。
希望这有帮助!
关于javascript - marionette 应用程序中的 require.js 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25619974/