Javascript 如何使用木偶将两个ItemView包装到同一个div中?

Javascript 如何使用木偶将两个ItemView包装到同一个div中?,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我有一个带模板的CompositeView和一个带模板的ItemView。好吧 但是现在我想把两个itemView包装到一个相同的div中,即 将第一个ItemView和第二个ItemView转换为 第三个ItemView和第四个ItemView进入其他。。。等 我知道我可以在ItemView的模板中使用ItemIndex。。但我不知道在复合视图的模板中使用这个值 我有: Pagination.ItemView = Marionette.ItemView.extend({ templat

我有一个带模板的CompositeView和一个带模板的ItemView。好吧

但是现在我想把两个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>

有人知道怎么做吗?

我会考虑创建一个临时集合并将对象划分到其中。请参阅:了解使用下划线的简单分区方法。一旦这样做了,您就可以轻松地在模板中的双条目上循环


您可能必须重写视图中的serializeData()方法,才能将分区集合传递给模板。

在CompositeView中,您可以尝试重写getItemView方法。在下面的示例中,我的CompositeView根据要渲染的模型选择图像库缩略图或文章缩略图

这是咖啡脚本

getItemView: (item) ->
  switch item.get('type')
    when "ImageGallery"
      App.Views.ImageGalleries.Index.Thumbnail
    else
      App.Views.Articles.Index.Thumbnail

我不明白这个解决办法。它在木偶中是如何工作的?我有一个compositeView和一个ItemView。。如何将两个项目发送到itemView?使用ItemView中的SerializeData方法,我只有一个项。。。我认为我可以使用appendHtml方法,但我没有找到解决这个问题的方法
<script>
<span>
    <div class="row" id="cont1">
    </div>
    <div class="row" id="cont2">
    </div>
    <div class="row" id="cont3">
    </div>
</span>
 </script>
 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);
        },
getItemView: (item) ->
  switch item.get('type')
    when "ImageGallery"
      App.Views.ImageGalleries.Index.Thumbnail
    else
      App.Views.Articles.Index.Thumbnail