2

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

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

有没有机会用骨干做到这一点?

4

2 回答 2

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.
});
},
于 2013-04-09T00:11:33.757 回答
0

试试这个:在登录操作中使用它来重定向:

Backbone.history.navigate('/destination/page', {replace: true, trigger: true});
于 2013-11-01T20:35:50.523 回答