Marionette - 将 CollectionView 与 View 相结合
Marionette - combining CollectionView with View
我是 marionette 的新手,我想在 CollectionView 中生成 CollectionView。
我读到如果一个视图获取集合作为参数,它将它存储为 'items' argunemt。我的问题归结为:
const { View, CollectionView } = Marionette;
const collection = new Backbone.Collection([
{name: 'Marionette.js'}, {name: 'Backbone.js'}
]);
const MyView = View.extend({
el: 'body',
template: _.template(`
<ul>
<% _.each(items, function(item) { %>
<li><%- item.name %></li>
<% }) %>
</ul>
`)
});
const MyCollectionView = CollectionView.extend({
childView: MyView
})
const myCollectionView = new MyCollectionView([{collection: collection}]);
myCollectionView.render();
但是不行。你们能帮帮我吗?
我找到答案了!
只需要加上
childViewOptions(model) {
return {collection: model.get('collection')};
},
进入 MyCollectionView 并更改 ...(items,... 以命名为 collection,它完全符合我的要求。
我是 marionette 的新手,我想在 CollectionView 中生成 CollectionView。 我读到如果一个视图获取集合作为参数,它将它存储为 'items' argunemt。我的问题归结为:
const { View, CollectionView } = Marionette;
const collection = new Backbone.Collection([
{name: 'Marionette.js'}, {name: 'Backbone.js'}
]);
const MyView = View.extend({
el: 'body',
template: _.template(`
<ul>
<% _.each(items, function(item) { %>
<li><%- item.name %></li>
<% }) %>
</ul>
`)
});
const MyCollectionView = CollectionView.extend({
childView: MyView
})
const myCollectionView = new MyCollectionView([{collection: collection}]);
myCollectionView.render();
但是不行。你们能帮帮我吗?
我找到答案了! 只需要加上
childViewOptions(model) {
return {collection: model.get('collection')};
},
进入 MyCollectionView 并更改 ...(items,... 以命名为 collection,它完全符合我的要求。