我无法在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事件进行测试?
答案 0 :(得分:0)
您可能需要在appRouter中指定一个控制器:
{
controller: UsersApp.API
}