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