我有需要的數據填充到DL標籤的看法,所以我想這個觀點產生的標記,這將是這樣的:骨幹視圖頂級元素問題
<dt><i class="icon-<%= icon %>"></i><%= title %></dt>
<dd><%= content %> </dd>
所以,我不真的有一個頂級的元素可以工作。它不能是一個dl標籤,因爲之後我需要將幾個項目放在該頂部元素中。
有沒有辦法呢?
我有需要的數據填充到DL標籤的看法,所以我想這個觀點產生的標記,這將是這樣的:骨幹視圖頂級元素問題
<dt><i class="icon-<%= icon %>"></i><%= title %></dt>
<dd><%= content %> </dd>
所以,我不真的有一個頂級的元素可以工作。它不能是一個dl標籤,因爲之後我需要將幾個項目放在該頂部元素中。
有沒有辦法呢?
這裏沒有好的選擇。正如你所說,沒有有效的標籤爲項目視圖(因爲dl
真的只在dt
和dd
作爲孩子有效)和一個視圖恰好有一個$ el。
也許你應該重構你的代碼,以便你有一個代表整個DL的集合視圖呢?如果沒有一大堆的集合中的模型可能是確定以重新呈現DL/Collection視圖時,任何型號的改變:
var Definitions = Backbone.View.extend({
tagName: 'dl',
initialize: function() {
this.collection.on('change', this.render, this);
}
render: function() {
this.$el.html(<output from template that loops over all definitions>);
}
});
我想不出它周圍的任何方式如果你想要有效的HTML。如果你不太關心語義,你可以使用帶有單獨項目視圖的無序列表。
我真的不太明白你的問題,但這裏是一個答案。作爲概念,視圖元素應該是dl或者你的情況,你正在定義一個「列表中的項目」(比如BookCollectionView和BookItemView),所以你可以有2個視圖:1和其他項目list()。希望它能幫助你。
如果您不介意一點點DOM糾纏並且綁定到適當的事件,則可以逐個重新繪製這些對。但是,我認爲你堅持使用'
'以外的東西,或者只用一個視圖來完成整個事情。 「- 」和「
- 」的單獨子視圖將是另一種選擇,我想這只是您想要哪種醜陋的問題。 –