木偶:未捕获的ReferenceError

时间:2014-06-09 08:39:22

标签: backbone.js coffeescript marionette

我正在使用Marionette和Rails作为后端学习Backbone,使用截屏,我遇到了这个错误:

Uncaught ReferenceError: FooterApp is not defined 

我的 app.js.coffee 代码:

@Demo = do (Backbone, Marionette) ->

    App = new Backbone.Marionette.Application

    App.addRegions
        headerRegion: "#header-region"
        mainRegion: "#main-region"
        footerRegion: "#footer-region"

    App.addInitializer ->
        App.module("FooterApp").start()
        #App.execute "footer:show"

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

    App

footer_app.js.coffee

@Demo.module "FooterApp", (FooterApp, App, Backbone, Marionette, $, _) ->
  @startWithParent = false

    API = 
        showFooter: ->
            FooterApp.Show.Controller.showFooter()

    FooterApp.on "start", ->
        API.showFooter()

show_controller.js.coffee

@Demo.module "FooterApp.Show", (Show, App, Backbone, Marionette, $, _) ->

    Show.Controller = 

        showFooter: ->
            console.log 'test'

我花了很多时间弄清楚出了什么问题,但仍然没有线索......

1 个答案:

答案 0 :(得分:1)

在你的代码中,你没有在任何时候初始化你的控制器,它应该读得更像这样

API = 
    showFooter: ->
        new FooterApp.Show.Controller

然后在你的Footer控制器中你可以有一个初始化函数来显示它

initialize: ->
    console.log 'test'