2014-01-29 82 views
0

我的應用程序設置方式如下。它不允許我在加載頁面後觸發任何「java腳本路由」 - 在我導航到帶有子域擴展名的頁面並導入到我輸入的URL後。木偶路線/初始配置

//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(); 
+2

你的問題到底是什麼? – steveax

+0

*當我導航到本地主機/集線器/用戶時,一切都很完美,但是如果我轉到子域,路由器將無法工作。如果我是從這個URL initallu進入網站,那麼什麼都不會wrk:http:// localhost/public/hub#/ login ..即使當我嘗試其他URL時 –

+0

如果你在App之前移動它, displayRegion.show(...)'? – pdoherty926

回答

1

您試圖在實例化它們之前使用someController中的視圖實例。

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

您在這個劇本的一些依賴問題,應考慮使用木偶的模塊或Require.js來管理它們。