在marionette app中的require.js循环

时间:2014-09-02 09:21:30

标签: javascript requirejs 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)中有一个依赖循环。解决它的常用方法是什么?你如何构建你的木偶应用程序?

1 个答案:

答案 0 :(得分:1)

这是一个很好的例子,有助于让我在构建我的第一个木偶应用程序时前进:https://github.com/BoilerplateMVC/Marionette-Require-Boilerplate/tree/master/public/js/app

您当前设置路径文件的方式是执行此操作的主要方式。您应该创建一个响应App路线的Marionette控制器。

此外,您将看到此人创建初始化文件以指定所有启动逻辑(指定全局静态变量并实例化要使用的控制器和路由器)。

希望这有帮助!