Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用木偶收集视图为每个项目创建多个视图_Javascript_Backbone.js_Marionette - Fatal编程技术网

Javascript 使用木偶收集视图为每个项目创建多个视图

Javascript 使用木偶收集视图为每个项目创建多个视图,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我有一个Marionette.CollectionView,对于某些项目模型需要创建两个视图才能在模型上运行,那么Marionette.CollectionView.buildItemView能否返回两个视图 编辑: 我不想再创建一些WrapperItemView,我现在已经有一些解决方案在运行,但我想让它更标准 我希望我的代码是这样的,有没有简单的方法让它工作 buildItemView: function(item){ // create 2 views based on ite

我有一个Marionette.CollectionView,对于某些项目模型需要创建两个视图才能在模型上运行,那么Marionette.CollectionView.buildItemView能否返回两个视图

编辑:

我不想再创建一些WrapperItemView,我现在已经有一些解决方案在运行,但我想让它更标准

我希望我的代码是这样的,有没有简单的方法让它工作

  buildItemView: function(item){
    // create 2 views based on item type 
    return [view1, view2];
  },
  appendHtml: function(collectionView, itemView, index){
    if (itemView.type === "X" ) 
        collectionView.$el.find(".A").append(itemView.el);
    if (itemView.type === "Y" ) 
        collectionView.$el.find(".B").append(itemView.el);
  }

为什么您的itemview不充当第二个视图的父视图,您可以在itemview的initialize函数中创建第二个视图

编辑


我仍然会创建一个perent视图,这次我将使它成为2个视图的父视图,集合将创建父视图,父视图将在其中创建两个视图


这种方式对我来说更自然。

问题是这两个视图应该附加到CollectionView中的不同元素,我将编辑我的问题我仍将创建一个perent视图这次我将使其成为两个视图的父视图,您将创建父视图,父视图将在其中创建两个视图。