0
之前,我有一個主幹應用骨幹重定向從路由功能
route: function(route, name, callback) {
var router = this;
if (!callback) callback = this[name];
var beforeRoute = function() {
var location = Backbone.history.fragment;
var status = this.authorize();
if(location =="" && status['logged_in'] == true){
router.navigate("stream", {trigger: true});
} else if(location !="" && status['logged_in'] == false){
router.navigate("login", {trigger: true});
}
callback.apply(router, arguments);
};
return Backbone.Router.prototype.route.call(this, route, name, beforeRoute);
},
這是我的路由器,基本上它會檢查,如果用戶登錄或沒有在每次調用每個路徑之前運行的功能。我的問題是
router.navigate("stream", {trigger: true});
不按預期觸發(應重定向到流路由)。我試過this.navigate並嘗試設置route =「stream」,但沒有按預期重定向 - 除了重新分配window.location,導致頁面重新加載,對於應用程序而言並不理想。
有關如何在此beforeRoute函數內重新路由的任何建議?