问题 如何将子视图的生命周期责任从<beans>
<import resource="classpath*:root-module-context.xml"/>
<bean>.. </bean>
</beans>
移至MyView
? (见下面的代码)
这里的问题是Marionette
数组是在服务器上动态形成的,我不想在items
中迭代它们。我需要MyView
吗?
代码:
我有Marionette.CollectionView
模板:
my-view.hbs
查看呈现它的内容:
{{#each items}}
<button class="button">name</button>
<div name="target"/> <!-- each target div should contain a subview -->
{{/each}}
答案 0 :(得分:2)
如果简短,是的,您需要复合或收藏查看。 另外我建议您使用Collection而不是普通对象,它将帮助您更轻松地在数据(模型)和您查看之间进行通信:
var ItemModel = Backbone.Model.extend({
defaults: {
name: 'unnamed'
}
}),
ItemsCollection = Backbone.Collection.extend({
model: ItemModel
}),
MyChildView = Marionette.ItemView.extend({
template: Templates['my-view.hbs']
}),
MyView = Marionette.CollectionView.extend({
childView: MyChildView,
collection: new ItemsCollection([
{name: 'car'},
{name: 'bike'},
{name: 'skiboard'}
])
});
您的模板也会更容易:
<button class="button">name</button>
<div name="target"/>