【发布时间】:2012-11-19 17:58:04
【问题描述】:
我似乎无法让主干路由器以预期的方式工作。我 i) 实例化我的路由器,然后 ii) 调用 Backbone.history.start( { pushState: true, root: '/' } )。使用下面的代码...
- 1) 转到“/dashboard”或“/grid”,未调用定义的函数
- 2) 当我调用 myrouter.navigate("grid") 时,定义的函数没有被调用
- **) 但是,如果我随后返回或向前浏览历史记录,则会调用定义的函数。
Router : Backbone.Router.extend
routes:
"dashboard": "dashboard"
"grid/:storyid": "grid"
dashboard: ->
console.log("...")
grid: (storyid) ->
console.log("...")
我需要做什么才能让案例 1) 和 2) 正常工作?
谢谢
【问题讨论】:
-
您是否创建了路由器实例并启动了历史跟踪? IE这个位:
Backbone.history.start() -
是的。
myrouter = new router.Router(),然后是Backbone.history.start( { pushState: true, root: '/' } )。 -
你可以尝试在“dashboard”路由前面加一个/,这样它就会变成:“/dashboard”:“dashboard”
-
试试
myrouter.navigate('grid', {trigger: true})。 router doc