使用Backbone.js静默地将url更改为previous

use*_*232 8 javascript url backbone.js pushstate

使用Backbone.js,是否可以让路由器导航到它来自的页面?我想在弹出窗口时更改URL的情况下使用它,当我隐藏弹出窗口时我想要更改它.我不想简单地回去,因为在我展示弹出窗口之前,我想让背景页面保持与我离开时完全相同的位置

mat*_*aso 14

您可以通过Backbone.Router在导航期间扩展和存储所有路径来解决此问题.

class MyRouter extends Backbone.Router
  constructor: (options) ->
    @on "all", @storeRoute
    @history = []
    super options

  storeRoute: ->
    @history.push Backbone.history.fragment

  previous: ->
    if @history.length > 1
      @navigate @history[@history.length-2], true 
Run Code Online (Sandbox Code Playgroud)

然后,当你必须解雇你的模态时,只需调用MyRouter.previous()它将你重定向回最后一个"哈希"的方法.

  • 实际上你只能存储最后一个"哈希"而不是孔历史 (3认同)