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.コーヒー

@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 のドキュメントとも一致しているようです。

何かご意見は?コンソールで appRoutes イベントをトリガーしてテストする簡単な方法はありますか?

4

1 に答える 1

0

appRouter でコントローラーを指定する必要がある場合があります。

{
    controller: UsersApp.API
}
于 2013-07-23T16:49:16.493 に答える