木偶路线/初始配置

时间:2014-01-29 22:06:27

标签: backbone.js marionette

我按以下方式设置了我的应用程序。它不允许我在加载页面后触发任何“java脚本路由” - 在我导航到这个页面后,我输入的网址具有子域扩展名。

//Create App
App = new Backbone.Marionette.Application();

//APP Regions
App.addRegions({
    displayRegion: "#displayRegion"
});

//Routing controller
someController = {
    usersarea: function () {
        App.displayRegion.show(userList_ITEM);
        alert('Users');
    },
    login: function () {
        App.displayRegion.show(login_view);
        alert('Login View');
    }
};


//Router
MyRouter = new Marionette.AppRouter({
    controller: someController,

    appRoutes: {
        "users": "usersarea",
        "login": "login",
    }

});//MyRouter


// Application Views

userList_ITEM_proto = Backbone.Marionette.ItemView.extend({
    template: "#userList_ITEM"
});


login_view_proto = Backbone.Marionette.ItemView.extend({
    template: "#login_view"
});


//Before STARTS
App.on('initialize:before', function () {
    if (!Backbone.History.started) Backbone.history.start();
    alert('It works');
    login_view = new login_view_proto;
    userList_ITEM = new userList_ITEM_proto;

});

//After START
App.on('initialize:after', function (options) {
    console.log('Initialization Finished');
});


//At Start
App.on('start', function (options) {
    alert('It works');
});

App.start();

1 个答案:

答案 0 :(得分:1)

您在实例化之前尝试在someController中使用视图实例。

http://jsfiddle.net/ddL4n/28/

此脚本中存在许多依赖性问题,应考虑使用Marionette的模块或Require.js来管理它们。