我有一個CompositeView及其模板,ItemView及其模板。好吧!如何將兩個ItemView與Marionette包裝到同一個div中?
但現在我想換2 ItemView控件到同一個DIV,即
第一ItemView控件,以及第二ItemView控件到 第三ItemView控件,併爲其他ItemView控件第四...等
我知道我可以在ItemView控件的模板中使用的ItemIndex ..但我不知道用這個值的複合視圖模板
我:
Pagination.ItemView = Marionette.ItemView.extend({
template: PaginationItemView,
});
Pagination.ItemsListView = Backbone.Marionette.CompositeView.extend({
itemViewContainer: 'span',
itemView: Pagination.ItemView,
itemViewOptions: function(model, index) {
return {
itemIndex: index
}
}
});
我ItemView控件的模板是:
<script>
<div style="margin-bottom:25px;height: 47%;" class="col-lg-6 col-xs-12 clearfix">
<div class="col-xs-3">
<!-- photo >
</div>
<div class="col-xs-9 box-basic">
<!-- info about item>
</div>
</div>
</script>
我想要的東西,如:
<div class="row">
<tagName of itemView>
first ItemView
<end tagName of ItemView>
<tagName of itemView>
seconde ItemView
<end tagName of ItemView>
</div>
<div class="row">
<tagName of itemView>
third ItemView
<end tagName of ItemView>
<tagName of itemView>
fourth ItemView
<end tagName of ItemView>
</div>
任何想法?提前致謝!
編輯:
我有一個解決方案,但它真的不是正確的。
在compositeTemplate.html
<script>
<span>
<div class="row" id="cont1">
</div>
<div class="row" id="cont2">
</div>
<div class="row" id="cont3">
</div>
</span>
</script>
而在CompositeView.js
appendHtml: function(collectionView, itemView, index){
var childrenContainer = collectionView.itemViewContainer ? collectionView.$(collectionView.itemViewContainer) : collectionView.$el;
var children = childrenContainer.children();
$("#cont"+(index%3+1)).append(itemView.el);
},
有人的模板知道這樣做的正確方法?
我不明白這個解決方案。它如何在木偶工作?我有一個compositeView和一個ItemView ..我怎樣才能發送兩個項目到itemView ..?使用ItemView中的方法SerializeData只有我有一個項目...我認爲我可以使用方法appendHtml,但我找不到解決此問題的方法 – Chrysweel