【发布时间】:2014-02-11 13:55:14
【问题描述】:
我有一个在主干应用程序中的每条路由之前运行的函数
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 函数中重新路由有什么建议吗?
【问题讨论】:
标签: jquery redirect backbone.js