我遇到类似于此处讨论的LayoutView问题,即创建了额外的包装器:Extra wrappers in Backbone and Marionette
现在,我正在尝试使用CollectionView,并且看到一些意外的div
出现。
我的CollectionView看起来像:
MA.Views.Composites.Movies = Backbone.Marionette.CollectionView.extend({ template: 'composites/movies', }); MA.addInitializer(function(){ MA.collections.movies = new MA.Collections.Movies(); MA.composites.movies = new MA.Views.Composites.Movies({ itemView: MA.Views.Items.Movie, collection: MA.collections.movies }); MA.collections.movies.fetch(); });
模板:
<div id="movies">
movies
</div>
ItemView:
MA.Views.Items.Movie = Backbone.Marionette.ItemView.extend({ template: 'items/movie', views: {} });
和ItemView模板:
<div class="item">
{{ title }}
</div>
生成的HTML如下所示:
答案 0 :(得分:0)
问题似乎是我将CompositeView与CollectionView混合在一起。通过在视图上添加className
属性,解决方案可以快速显示。 ItemView不应在模板中包含包div
,因为它是由ItemView添加的。