javascript - Marionette:未找到 childViewContainer

标签 javascript backbone.js marionette

我正在尝试学习如何使用带有 Backbone 的 Marionette。我不确定为什么会收到以下错误:Uncaught ChildViewContainerMissingError:未找到指定的“childViewContainer”:ul

这是我的代码的一个 fiddle :http://jsfiddle.net/e7L822c8/

这是我的 JavaScript:

window.App = new Backbone.Marionette.Application();

App.addRegions({
  mainRegion: '.js-page'
});

App.start();

var TheModel = Backbone.Model.extend({});

var TheCollection = Backbone.Collection.extend({
  model: TheModel,
});

var ListView = Backbone.Marionette.CompositeView.extend({
  tagName: 'div',

  className: 'js-list-container',

  template: _.template( '#ListViewTemplate' ),

  childViewContainer: 'ul',

  childView: ItemView
});

var ItemView = Backbone.Marionette.ItemView.extend({
  initialize: function() { 
    console.log('this.model =',this.model); 
    console.log(this);      
  },

  tagName: 'li',

  className: 'list-item',

  template: _.template( '#ItemViewTemplate' )
});

var dataArray = [
  {"name":"FirstObject"},{"name":"SecondObject"},{"name":"ThirdObject"}
];

var theCollection = new TheCollection(dataArray);
var listView = new ListView({collection: theCollection});

App.mainRegion.show(listView);

这是我的 HTML:

<div class="js-page">
</div>

<script type="text/template" id="ListViewTemplate">
  <h3>Here is a list</h3>
  <ul class="js-list">

  </ul>
</script>

<script type="text/template" id="ItemViewTemplate">
  Display List Item here
</script>

最佳答案

代码中有两个问题:

  1. 在 js 代码中,您必须在 ListView 之前定义 ItemView
  2. js 无法访问代码中的模板

    模板:_.template('#ListViewTemplate'),

如果用 ListViewTemplate 的内容替换它:

template: _.template( "<h3>Here is a list</h3><ul class='js-list'></ul>" ),

检查 jsfiddle 是否有效:http://jsfiddle.net/pwassqww/2/

所以问题出在你的模板定义上。

关于javascript - Marionette:未找到 childViewContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26351169/

相关文章:

javascript - 具有多个操作的 backbone.js 路由器

javascript - 从简单的 Backbone 到 Marionette

javascript - 无限滚动的 <tbody> 元素?

javascript - 在 HTML 和 Javascript 中添加带有输入的行时重置表输入值

javascript - 获取 html 表单值

javascript - 主干 Marionette 路线未被调用

javascript - Marionette 事件点击。如何获取被点击的item的属性?

javascript - 多变量 JavaScript

Backbone.js:引用模型和集合查看...味道?

javascript - 不可能的 Backbone 僵尸