2012-09-20 153 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});