有没有办法从主干历史中删除特定片段?这是一个用例:
我有一个登录视图,一旦用户成功登录,该视图就不需要保留在历史记录中,因为成功登录后返回登录页面是没有意义的。但是,如果用户首先导航到登录页面,我仍然需要历史记录中的登录视图,没有登录而是从登录页面导航到另一个页面(比如密码重置页面)。如果用户不小心点击了密码重置链接并在那里导航,点击后退按钮应该会让用户回到登录页面。
有没有机会用骨干做到这一点?
有没有办法从主干历史中删除特定片段?这是一个用例:
我有一个登录视图,一旦用户成功登录,该视图就不需要保留在历史记录中,因为成功登录后返回登录页面是没有意义的。但是,如果用户首先导航到登录页面,我仍然需要历史记录中的登录视图,没有登录而是从登录页面导航到另一个页面(比如密码重置页面)。如果用户不小心点击了密码重置链接并在那里导航,点击后退按钮应该会让用户回到登录页面。
有没有机会用骨干做到这一点?
回答您的问题:是的,有一种方法可以解决这个问题,您只需在您在应用程序中设置的所需路由器中实现它。
例如,如果您想:
执行以下操作(此代码段应放置在您的路由器中,在初始化函数中):
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.
});
},
试试这个:在登录操作中使用它来重定向:
Backbone.history.navigate('/destination/page', {replace: true, trigger: true});