javascript - 通过backbone.js 路由区分后退/前进导航

标签 javascript backbone.js coffeescript

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

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

然后我们可以轻松查看该数字是上升还是下降并相应地设置动画。它有效,但并不优雅。

关于javascript - 通过backbone.js 路由区分后退/前进导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9070684/

相关文章:

javascript - 回调时 stackmob 错误

javascript - d3.js - 未捕获的类型错误 : Object [object Object] has no method 'getBoundingClientRect'

windows - node, forever, coffee - 在 linux 上运行良好但在 windows 上运行不佳

javascript - JavaScript 中的对象变量

javascript - jquery 1.7.1 隐藏和显示无法正常工作

javascript - 为多种尺寸的 HTML div 提供图像边框的 CSS/Javascript 代码

javascript - 在 React 中单击选项卡时如何使选项卡处于事件状态

javascript - for 循环(事件)中的闭包问题

javascript - Backbone.js 提供全局 el 与将其传递到对象中

javascript - 如何检查数组中的值是否存在