使用backbone.js路由区分前后导航
Differentiating back/forward navigation with backbone.js routing
我在这里有一个简单的路由器设置:
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
然后我们可以很容易地看到这个数字是上升还是下降,并相应地设置动画。它有效,但不优雅。
相关文章:
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 使引导区导航栏在滚动时折叠
- 如果找不到路由,则以程序方式导航到服务器页面
- React路由器:防止导航到目标路由
- 主干路由器导航到../#/<路由>而不触发路由器事件.如何
- 反应.js - 导航路由时控制台中的错误
- 父路由器激活功能在每次导航到其子路由时运行
- AngularJS$locationChangeStart事件取消路由导航
- 使引导区导航栏粘滞
- 引导区导航条居中对齐
- 引导区悬停水平子导航
- 单击链接时,我如何定义导航到详细信息页面的路由
- 使用backbone.js路由区分前后导航
- 使用AngularJS的ASP.NET 5路由导航
- React-Router使用jQuery导航路由
- Angular.js的路由和部分用于复杂的导航
- Nodejs / express - fresh install在尝试导航到路由时失败
- 在控制器中测试Ember.js的路由导航
- 如何用ngRoute创建导航路由
- 为什么AngularJS的服务在从一个路由导航到另一个路由时没有定义?