我正在关注backbonerails.com截屏视频第6集。但是我无法按照解释的那样让路由工作。
这是我的代码,类似于截屏视频:
@Report.module "UsersApp", (UsersApp, App, Backbone, Marionette, $, _) ->
class UsersApp.Router extends Marionette.AppRouter
initialize: ->
console.log "Happy days"
appRoutes:
"users" : "listUsers"
API =
listUsers: ->
console.log "hallo"
App.addInitializer ->
console.log "cheers"
new UsersApp.Router
controller: API
正如您所看到的,我已尝试在几个地方添加console.log以确保addInitializer正常工作并且路由器已启动...但仍然路由到#users不会执行相应的console.log
我有定义应用程序的地方:
App.on "initialize:after", ->
if Backbone.history
Backbone.history.start()
所以这应该在路由器启动后运行,如果我理解的话。
答案 0 :(得分:3)
原来,Backbone历史记录没有运行。我通过运行找到了:
Backbone.History.started
在我的控制台中。出于某种原因
App.on "initialize:after", ->
if Backbone.history
Backbone.history.start()
没有开始历史。
编辑:在木星的v2及以上,你应该使用:
App.on "start", ->