2

我正在尝试按照我从该站点购买的教程进行操作:http ://www.backbonerails.com/

我正在关注该系列的第 5 集“起床并跑步 - 第 1 部分”。

在视频的大约 46:52 处,他拥有“list_controller.js.coffee”的代码。

@Demo.module "HeaderApp.List", (List, App, Backbone, Marionette, $, _) ->

  List.Controller =

    listHeader: ->
      console.log "header"

当我有了这个......一切正常......控制台读取“标题”。

在视频的大约 47:20 标记处,他将其更改为:

@Demo.module "HeaderApp.List", (List, App, Backbone, Marionette, $, _) ->

  List.Controller =

    listHeader: ->   
      headerView = @getHeaderView()
      App.headerRegion.show headerView

    getHeaderView: ->
      new List.Header

当他更改代码时,我应该能够在浏览器中看到标题,但我没有。在萤火虫中,我收到错误:

TypeError: List.Header is not a constructor 
  return new List.Header;

其他相关代码在这里:

list_header.jst.eco

<div id="header" class="navbar">
  <div class="navbar-inner">
    <div class="container">
      <div class="row">
        <div class="pull-left">
          <span class="brand">Backbone Poop</span>
        </div>
        <ul class="nav pull-right">
          <li class="active">
            <a href="#">link 1</a>
          </li>
          <li>
            <a href="#">link 2</a>
          </li>
          <li>
            <a href="#">link 3</a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>  

list_view.js.coffee

@Demo.module "HeaderApp.List", (List, App, Backbone, Marionette, $, _) ->

  class List.Header extends Marionette.ItemView
    template: "header/list/templates/list_header"

header_app.js.coffee

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

  API =

    listHeader: ->
      HeaderApp.List.Controller.listHeader()

  HeaderApp.on "start", ->
    API.listHeader()

更新

所以我在搞乱代码......不要认为我改变了任何东西......但是我得到了控制台消息“标题”,再次出现。但现在萤火虫说:

uncaught exception: Template undefined not found!

我已经检查以确保我的所有具有目录结构的路径内容都是正确的,看不到任何问题。有任何想法吗?

更多信息

我在 chrome 的控制台中遇到了同样的错误。但是当我检查错误(单击箭头)并滚动到(未定义函数)并单击其相应的“app.js:14”链接时...我可以看到:

App.addInitializer(function() {
  App.module("HeaderApp").start();
  return App.module("FooterApp").start();
}); 

看起来“HeaderApp”没有返回......重要吗?

4

0 回答 0