Backbone.js中的路由器负责路由客户端页面,并根据URL将它们连接到操作和事件。但是如何触发网址更改呢?我的意思是,如果执行此操作的唯一方法是在<a>
标记中包含与页面路由关联的元素。
因为我已将mousedown和mouseup事件与用于路由的元素相关联,如果我将其放在<a>
标记中,则mousedown和mouseup事件肯定会变为无效,因为它会与click事件发生冲突<a>
标记。那么还有其他方法可以进行路由吗?
答案 0 :(得分:32)
您可以使用Router#navigate
:
导航
router.navigate(fragment, [options])
每当您在应用中确定要保存为网址时,请致电导航以更新网址。如果您还想调用路线功能,请将触发器选项设置为
true
。
因此,如果你的路由器是r
而你想激活#/some_route
的路由,那么你可以:
r.navigate('some_route', { trigger: true });
演示(请打开你的控制台):http://jsfiddle.net/ambiguous/xkZtB/