2012-03-23 62 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