通过backbone.js 路由区分后退/前进导航
我在这里有一个简单的路由器设置:
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 是否支持这种差异化?
I have a simple router setup here:
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()
Code here:
http://jsfiddle.net/tH2eW/
In use where you can see the hash url change:
http://jsfiddle.net/tH2eW/show/
This works, it runs code when the hash changes. But how do I know if it was a forward (clicked a link to load a new page) or if it was a back button press? I want to animate things slightly differently if we are going back to a previous screen.
Do hash based URLs support this differentiation at all?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们结束了做一些我不太高兴的事情。我们在 url 中对页面深度进行编码。
然后我们可以轻松查看该数字是上升还是下降并相应地设置动画。它有效,但并不优雅。
We ended doing something I'm not too happy about. We encode the page depth in the url.
Then we can easily see if that number is going up or down and animate accordingly. It works, but elegant it is not.