1

我正在重构我的应用程序,现在我的路由器没有响应。我觉得这可能与事件的顺序有关。但那是猜测。有任何想法吗?

初始化.js

define(function(require) {
    'use strict';
    var app = (require('app')()),
        Backbone = require('backbone');
    app.modules = {};
    require('modules/main/main');
    app.on('initialize:after', function() {
        if (Backbone.history) {
            Backbone.history.start();
        }
    });
    app.start();
});

模块/main/main.js

define(function(require) {
    'use strict';
    var app = (require('app')()),
        MainController = require('widgets/main/controller');
    app.addInitializer(function() {
        app.modules.main = new MainController();
    });
});

小部件/main/controller.js

define(function(require) {
    'use strict';
    var app = (require('app')()),
        Marionette = require('marionette'),
        View = require('./view');
    return Marionette.Controller.extend({
        initialize: function(options) {
            this.router = new Marionette.AppRouter.extend({
                appRoutes: {'apps': 'showApp'},
                controller: this
            });
        },
        showApp: function() {
            console.log('route fired!');
        }
    });
});
4

1 回答 1

0

我认为许多异步require请求中的问题。我会尝试更改例如 main.js 之类的文件。

`

define(['app','widgets/main/controller'], function(App, Ctr){

    App.addInitializer(function() {
        app.modules.main = new Ctr;
    });

});

`

于 2014-01-13T06:50:06.577 回答