我正在使用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'
我花了很多时间弄清楚出了什么问题,但仍然没有线索......
答案 0 :(得分:1)
在你的代码中,你没有在任何时候初始化你的控制器,它应该读得更像这样
API =
showFooter: ->
new FooterApp.Show.Controller
然后在你的Footer控制器中你可以有一个初始化函数来显示它
initialize: ->
console.log 'test'