0
我正在使用BackboneJS在网页上工作。 HTML页面包含2个div,它们充当列,每个项目将位于第一列,或者位于第二列。我不知道如何在集合视图上设置el
元素。目前,我在收集render
函数中设置了它,但由于某些原因,在右列中创建了更多项目(div)。这是代码。难道我做错了什么?有更好的方法吗?Backbone - 在渲染函数中设置el?
HTML片段:
<div class="columns" id="col1"></div>
<div class="columns" id="col2"></div>
的骨干视图应该在两个col1
和col2
的div分配的项目,所以我不能设置el
在集合视图像往常一样,我要动态地设置它在某种程度上。
这里是MenusView收集相应的视图:
var application = application || {};
application.MenusView = Backbone.View.extend({
//el: '#col1',
initialize: function(initialmenus) {
console.log("Initializaing MenusView");
this.collection = new application.Menus(initialmenus);
this.render();
},
render: function() {
var count = true;
this.collection.each(function(item) {
//setting el dynamically at rendering, so we can distribute divs to col1 and col2
this.setElement($('#col' + (count ? '1' : '2')));
count = !count;
this.renderMenu(item);
}, this);
},
renderMenu: function(item) {
var menuView = new application.MenuView({
model: item
});
this.$el.append(menuView.render().el);
}
});
蹊跷在renderMenu功能选择:(除此之外,我认为这是一个伟大的IDEEA,我得看看它是否工作 – vicusbass
那么,什么是错?错误消息?日志?能不能帮你如果你不参加... PS:有一个缺少的引号标记。修正答案。 – Bernardo
是贝尔纳多,失踪的报价,对不起没有提及它。好东西,工作正常。谢谢! – vicusbass