Backbone.Marionette路由无法正常工作

时间:2014-08-15 22:59:31

标签: backbone.js marionette backbone-routing

我正在关注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()

所以这应该在路由器启动后运行,如果我理解的话。

1 个答案:

答案 0 :(得分:3)

原来,Backbone历史记录没有运行。我通过运行找到了:

Backbone.History.started

在我的控制台中。出于某种原因

  App.on "initialize:after", ->
    if Backbone.history
      Backbone.history.start()

没有开始历史。

编辑:在木星的v2及以上,你应该使用:

  App.on "start", ->