【发布时间】:2014-08-07 14:42:18
【问题描述】:
我想渲染这样的结构:
<div>
<div class="table h-mb-10">
<div class="table-cell">#{rendered cellview</div>
<div class="table-cell">#{rendered cellview</div>
</div>
<div class="table h-mb-10">
<div class="table-cell">#{rendered cellview</div>
<div class="table-cell">#{rendered cellview</div>
</div>
</div>
我创建了如下描述的两个视图:
class CellView extends Marionette.ItemView
tagName: 'div'
className: 'table-cell'
class TableCollectionView extends Marionette.CollectionView
appendHtml: (collectionView, itemView, index)->
if index % 2 is 0
@_lastRow = $('<div class="table h-mb-10"></div>')
collectionView.$el.append(@_lastRow)
@_lastRow.append(itemView.el)
itemView: CellView
它可以工作,但是当我重置一个集合时,最后有一些备用块。像这样的:
<div>
<div class="table h-mb-10"></div> <!-- spare -->
<div class="table h-mb-10"></div> <!-- spare -->
<div class="table h-mb-10">
<div class="table-cell">#{rendered cellview}</div>
<div class="table-cell">#{rendered cellview}</div>
</div>
<div class="table h-mb-10">
<div class="table-cell">#{rendered cellview}</div>
<div class="table-cell">#{rendered cellview}</div>
</div>
</div>
我可以在渲染时将它们移除,但这是一种 hack。有没有(在木偶中)惯用的方法来解决这个问题?
编辑:它呈现这样的东西
【问题讨论】:
标签: javascript backbone.js coffeescript marionette