0
我无法在导航到我的Backbone.js应用的页面时触发事件。首先,相关代码:访问页面时骨干/木偶路由器事件未触发
* users_app.js.coffee *
@Demo.module "UsersApp", (UsersApp, App, Backbone, Marionette, $, _) ->
class UsersApp.Router extends Backbone.Marionette.AppRouter
appRoutes:
"users" : "listUsers"
UsersApp.API =
listUsers: ->
console.log "listUsers"
App.addInitializer ->
new UsersApp.Router
controller: UsersApp.API
app.js.coffee
@Demo = do(Backbone, Marionette) ->
App = new Marionette.Application
App.on "initialize:before", (options) ->
@currentUser = App.request "set:current:user", options.currentUser
App.reqres.setHandler "get:current:user", ->
App.currentUser
App.addRegions
headerRegion: "#header-region"
mainRegion: "#main-region"
footerRegion: "#footer-region"
App.addInitializer ->
App.module("HeaderApp").start()
App.module("FooterApp").start()
App.on "initialize:after", ->
if Backbone.history
Backbone.history.start
App
我已经在控制台中测试了它,我可以打电话手动功能listUsers
,使用简单的Demo.UsersApp.API.listUsers()
但是,listUsers
在页面加载时未触发。这种实现似乎也符合Marionette documentation
有什么想法?有没有一种简单的方法可以触发控制台中的appRoutes事件来测试它?
随着“不点火”你的意思是,如果你去到地址/index.html#users listUsers不叫? – Ingro
我的意思是“listUsers”(字符串)没有被输出到控制台。 – mattmattmatt
确实如此,但是您是否使用浏览器触及了该路线?因为在你的代码中没有设置默认路由。 – Ingro