Router in Backbone.js负责路由客户端页面,并根据URL将它们连接到操作和事件。但是如何触发网址更改?我的意思是,如果唯一的方法是将与页面路由关联的元素括在<a>
标签中。
因为我已将鼠标按下和鼠标向上事件与用于路由的元素相关联,如果我将其放在<a>
标签中,鼠标按下和鼠标向上事件肯定会变得无效,因为它将与<a>
标签的点击事件发生冲突。那么还有其他方法可以进行路由吗?
Router#navigate
:
导航
router.navigate(fragment, [options])
每当到达应用程序中要另存为 URL 的点时,请调用 navigate 以更新 URL。如果还希望调用路由函数,请将触发器选项设置为
true
。
因此,如果您的路由器r
并且您想激活路由 #/some_route
,那么您可以:
r.navigate('some_route', { trigger: true });
演示(请打开您的控制台):http://jsfiddle.net/ambiguous/xkZtB/