使用backbone.js路由区分前后导航

Differentiating back/forward navigation with backbone.js routing

本文关键字:导航 路由区 backbone js 使用      更新时间:2023-09-26

我在这里有一个简单的路由器设置:

class Router extends Backbone.Router
  routes:
    '/a': 'a'
    '/b': 'b'
  a: -> alert 'a'
  b: -> alert 'b'
app = new Router()
app.navigate '/a'
Backbone.history.start()

此处编码:http://jsfiddle.net/tH2eW/

在使用中,您可以看到哈希url的更改:http://jsfiddle.net/tH2eW/show/

这是有效的,当哈希发生变化时,它会运行代码。但我怎么知道这是转发(点击链接加载新页面)还是后退按钮?如果我们回到前一个屏幕,我想以稍微不同的方式制作动画。

基于哈希的URL是否支持这种差异化?

我们结束了一些我不太高兴的事情。我们在url中对页面深度进行编码。

foo.html#!1/index
foo.html#!2/detail/123

然后我们可以很容易地看到这个数字是上升还是下降,并相应地设置动画。它有效,但不优雅。