2012-03-23 60 views
0

当有人访问我的页面时,我希望它们被重新路由到登录页面并触发操作。让backbone.js重新路由到登录页面并触发操作

我无法获得此代码的工作,希望有人可以帮助我。

window.AppRouter = Backbone.Router.extend({ 
    routes: { 
     '': 'index', 
     'login': 'login' 
    }, 
    index: function(){ 
     Backbone.history.navigate('login'); 
    }, 
    login: function(){ 
     alert('route'); 
     userLoginView = new UserLoginView(); 
    } 
}); 

$(function() { 
    var appRouter = new AppRouter; 
    Backbone.history.start({pushState: true}); 
}); 

我敢打赌,它与斜线可能有点关系。

回答

2

您应该使用路由器的导航功能,而不是Backbone.history(http://documentcloud.github.com/backbone/#Router-navigate)。您还必须指定参数触发器,以便触发相应的操作。

这里的解决方案:

index: function() { 
    this.navigate('login', {trigger: true}); 
} 
+0

谢谢你,这做到了。我尝试过使用触发器,但没有奏效。我认为使用“这个”与它结合起来的确有诀窍。谢谢! – 2012-03-23 10:56:43