【发布时间】:2012-07-18 22:33:55
【问题描述】:
当复合视图的集合没有模型时,我使用带有 emptyView 属性的 Marionette 复合视图来呈现一个简单的模板。 emptyView 在我的应用程序的多个位置都可以正常工作,但由于某种原因,在一个视图中,emptyView 在页面上呈现了两次。
我最初的想法是视图正在重新渲染,而不是在同步集合时自行删除。初始化函数中的 console.log 显示初始化只被调用一次。
class AllLists extends Backbone.Marionette.CompositeView
itemView: List
emptyView: NoLists
template: AllListsTemplate
className: 'lists'
initialize: (options) ->
@collection.fetch()
console.log 'lists ', @collection, @model
class NoLists extends Backbone.Marionette.ItemView
template: NoListsTemplate
tagName: 'li'
className: 'no-lists'
如您所见,这里没有什么太疯狂的事情。空列表模板只是一个简单的 h4 标签,其中包含一些文本。
关于可能导致此问题的任何想法?
【问题讨论】: