Javascript 主干。定义el时,木偶采集视图重置
我对木偶收藏视图有问题。当我不定义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() {
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的渲染,然后东西进入风扇引导旋转木马怎么样,在哪里初始化,如何初始化?