Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 主干。定义el时,木偶采集视图重置_Javascript_Backbone.js_Marionette_Collectionview - Fatal编程技术网

Javascript 主干。定义el时,木偶采集视图重置

Javascript 主干。定义el时,木偶采集视图重置,javascript,backbone.js,marionette,collectionview,Javascript,Backbone.js,Marionette,Collectionview,我对木偶收藏视图有问题。当我不定义el时,就像 var featureditems = new View.CarouselItems({ collection: content }); collectionview: View.CarouselItem = Marionette.ItemView.extend({ template: carouselItemTpl, tagName: 'div', attributes: function() {

我对木偶收藏视图有问题。当我不定义el时,就像

var featureditems = new View.CarouselItems({ collection: content });
collectionview:

View.CarouselItem = Marionette.ItemView.extend({      

    template: carouselItemTpl,

    tagName: 'div',

    attributes: function() {
      var clas = '';
      if (this.model.get('ind') == 0) {
        clas = ' active'
      }
      return {
        'data-slide-to': this.model.get('ind'),
        'data-target': '#homeCarousel',
        'class': 'item' + clas
      };
    },


});

View.CarouselItems = Marionette.CollectionView.extend({

  itemView: View.CarouselItem
});
collectionview呈现封装在div标记中的项,这是有问题的

当我这样定义容器元素时:

var featureditems = new View.CarouselItems({ collection: content, el: $("#carousel-inner") });
该视图呈现ItemView,如下所示:

<div class="carousel-inner">
    <div class="active item">
      <img alt="" class="slide-img" src="./assets/img/avant_floorstand.jpg">
      <div class="hero-unit">            
      </div>
      <!--div class="hero-video"></div-->
    </div>
    <div class="item">
      <img alt="" class="slide-img" src="./assets/img/avant_wall.jpg">
       <div class="hero-unit">            
      </div>
    </div>
    <div class="item">
      <img alt="" class="slide-img" src="./assets/img/beovision11_day3jpg jpg.jpg">
       <div class="hero-unit">            
      </div>
    </div>
  </div>

这正是我们想要的,但是当整个集合呈现元素时,元素消失了,而我仍然使用空视图,如

救命啊


PS:我正在使用引导旋转木马来启用我的旋转木马

如果您使用的是木偶>=2.0.0,
项目视图
已被
儿童视图
取代。目前,木偶网的CollectionView类似乎没有本机
itemView
属性。这两本书中都没有提到

此外,您似乎在已定义容器元素的选择器中出错:
$(“#carousel-inner”)
正在查找id为
carousel-inner
的元素,但在生成的html中,顶级div将其作为一个类

我觉得传入一个已经存在的元素可能会搞糟事情。最好是动态创建自定义“el”。我会尝试将标记渲染移动到collectionView中,如下所示:

View.CarouselItems = Marionette.CollectionView.extend({
  childView: View.CarouselItem,
  tagName: 'div',

  //Add your custom classes to the div tag as soon as it's rendered
  onRender: function(){
    this.$el.addClass('carousel-inner');
  }
});
然后调用时,我会调用如下内容:

var featuredItems = new View.CarouselItems({collection: content});
featuredItems.render().$el.appendTo(/*The DOM Node you'd like to append this to */);

嗯,你期望什么样的行为以及你想要达到什么样的效果?我希望元素在渲染后仍保留在dom中。目前,ItemView渲染后消失。@AlexMbaka元素何时消失?元素渲染后消失。我通过在attributes函数中使用警报观察到了这一点。一切都很好,直到collectionView完成对ChildView的渲染,然后东西进入风扇引导旋转木马怎么样,在哪里初始化,如何初始化?