2012-09-20 154 views
2

有沒有辦法從骨幹歷史中刪除特定的片段?這裏是一個用例:骨幹歷史

我有一個登錄視圖,一旦用戶成功登錄,沒有必要將該視圖保留在歷史記錄中,因爲成功登錄後返回登錄頁面是沒有意義的。但是,如果用戶首先導航到登錄頁面,但不登錄,而是從登錄頁面導航到另一頁面(如密碼重置頁面),我仍然需要歷史記錄中的登錄視圖。如果用戶不小心點擊了密碼重置鏈接並在那裏導航,點擊後退按鈕應該將用戶帶回登錄頁面。

有沒有機會這樣做與骨幹?

+0

http://stackoverflow.com/questions/9906648/how-to-keep-a-clean-browser-history-in-a-骨幹JS-應用 –

回答

0

回答你的問題:是的,有一種方法可以解決這個問題,你只需要在你的應用中設置的所需路由器中實現它。

例如,如果你想:

  1. 第一頁開始的歷史密碼重置頁面上登錄
  2. 啓動歷史後(或任何其他門控頁)

執行下列操作(這段代碼應該放在你的路由器中,在初始化函數中):

initialize: function(options) { 
    this.route("pageId", "login", function(number){ 
     //Call to Backbone.history.start() wether or not you want the history to start on this page 
     //E.g. don't call it on the index route, just in /reset-password and so on. 
}); 
}, 
0

試試這個:在登入行動使用這種重定向:

Backbone.history.navigate('/destination/page', {replace: true, trigger: true});