骨干历史

时间:2012-09-20 04:25:19

标签: backbone.js history router

有没有办法从骨干历史中删除特定片段?这是一个用例:

我有一个登录视图,一旦用户成功登录,就不需要将该视图保留在历史记录中,因为在成功登录后返回登录页面是没有意义的。但是,如果用户首先导航到登录页面,我仍然需要历史记录中的登录视图,不登录,而是导航离开登录页面到另一个页面(比如密码重置页面)。如果用户不小心点击了密码重置链接并在那里导航,则单击后退按钮应该将用户带回登录页面。

有没有机会用骨干做这件事?

2 个答案:

答案 0 :(得分:0)

回答你的问题:是的,有办法处理这个问题,你只需要在你在应用中设置的必需路由器中实现它。

例如,如果你想:

  1. 登录后首页上的历史记录
  2. 在密码重置页面(或任何其他门控页面)上启动历史记录
  3. 执行以下操作(此代码段应放在您的路由器中,在initialize函数中):

    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.
    });
    },
    

答案 1 :(得分:0)

试试这个:登录操作时使用此方法重定向:

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