【发布时间】:2014-06-04 23:17:59
【问题描述】:
我有一个使用 Backbone/Marionette/Mustache 很好地渲染的集合。
所以PersonModel 和PersonView 工作正常。 PersonView 有一个名为 PersonTemplate 的小胡子模板,由我的 PeopleCollection 和 PeopleCollectionView 完美加载,并在默认的 tagname: "div" 中呈现。
但是,我想在另一个模板中呈现这个集合,这样我就可以在那里放一些标题。
现在基本上是:
<div> <!-- collection tagName -->
<div class="person"> <!-- PersonTemplate -->
<div class="person-name">John</div>
</div>
<div class ="person"> <!-- PersonTemplate -->
<div class="person-name">Dave</div>
</div>
</div>
但我希望它是:
<div id="people> <!-- CollectionTemplate -->
<h1>People</h1> <!-- CollectionTemplate -->
<div class="person"> <!-- PersonTemplate -->
<div class="person-name">John</div>
</div>
<div class ="person"> <!-- PersonTemplate -->
<div class="person-name">Dave</div>
</div>
</div>
我知道我可以在事后使用 jQuery 添加这些项目,但我希望避免这种情况,因为我的实际 CollectionTemplate 比此处给出的示例复杂得多。
【问题讨论】:
-
看看 Marionette 的 CompositeView (marionettejs.com/docs/v1.8.5/marionette.compositeview.html),它完全符合您的要求(据我了解)。
标签: javascript jquery backbone.js marionette