集合视图未呈现项目视图
Collection View is not rendering Item View
我正在研究Marionette并刚刚从它开始。我不确定为什么我的ItemView没有呈现为<ul>。我想显示<li>对于<ul>标签。
这是我创作的一把小提琴:http://jsfiddle.net/36xu0jd4/
这是我使用的JavaScript和Marionette:
var data = [
{ "firstName": "Bill", "lastName": "Smith" },
{ "firstName": "Mary", "lastName": "Johnson" },
{ "firstName": "Sally", "lastName": "Jones" },
];
var MyApp = new Backbone.Marionette.Application();
MyApp.addRegions({
mainRegion: '#js-page'
});
var AppLayoutView = Backbone.Marionette.LayoutView.extend({
template: '#layout-template',
regions: {
listContainer: '.js-list-container',
details: '.js-details'
}
});
var appLayoutView = new AppLayoutView()
MyApp.mainRegion.show(appLayoutView);
var AppCollectionView = Backbone.Marionette.CollectionView.extend({
childView: AppItemView,
collection: data
});
var AppItemView = Backbone.Marionette.ItemView.extend({
template: '#item-vew'
});
var appCollectionView = new AppCollectionView();
appLayoutView.listContainer.show(appCollectionView);
MyApp.start();
这是我的HTML:
<div id="js-page"></div>
<script type="text/template" id="layout-template">
<div class="js-list-container">
List goes here
</div>
<div class="js-details">
Details goes here
</div>
</script>
<script type="text/template" id="item-view">
Item View!!!
</script>
您的代码有三个错误:
1) data
需要是Backbone.Collection
的实例,应该是:
var data = new Backbone.Collection([
{ "firstName": "Bill", "lastName": "Smith" },
{ "firstName": "Mary", "lastName": "Johnson" },
{ "firstName": "Sally", "lastName": "Jones" }
]);
2) 你在AppItemView.template
中输入了错误的#item-vew
,应该是:
var AppItemView = Backbone.Marionette.ItemView.extend({
template: '#item-view'
});
3) AppItemView
需要在AppCollectionView
之前定义,因此它可以用作childView
,应该看起来像:
var AppItemView = Backbone.Marionette.ItemView.extend({
template: '#item-view'
});
var AppCollectionView = Backbone.Marionette.CollectionView.extend({
childView: AppItemView,
collection: data
});
我的工作小提琴http://jsfiddle.net/36xu0jd4/4/
相关文章:
- 如何处理数据视图中项目的鼠标点击
- 取消选择滚动启动时的所有列表视图项目
- 如何让li项目在这个jQuery列表中滑动和/或淡出视图
- 为什么当我单击X时,所有项目都会从我的Backbone.js视图中删除
- 项目视图中控制器的角度重用函数值
- 获取特定视图的项目计数
- backbone.js可以't传递集合中的模型项's查看项目's视图
- Metro 应用程序中的列表视图项目单击
- M项目2:是否可以从DOM对象中获取M视图
- 如何在获取时删除项目视图
- 如何在列表和项目视图中呈现骨干集合
- 用Javascript将焦点设置在select元素上会将第一个项目滚动到视图之外
- 列表视图添加另一个不需要的页面项目
- 从集合中删除项目时,将其从视图中删除
- jQuery Mobile列表视图,将投票按钮添加到行项目中
- 在提线木偶JS中呈现项目视图
- 有没有办法控制台.log所有事件发生在骨干木偶项目视图中
- 使用其 cid 操作木偶项目视图
- 骨干和木偶,项目视图不渲染,如何
- 如何在索引视图中的Ruby on Rails中使用JavaScript切换项目的状态