0
我目前正在執行Backbone.js視圖的項目。我想在視圖中動態創建html標籤,但我迄今爲止所嘗試的所有內容都不起作用。是否有更新synax的骨幹新版本?因爲我看了一個教程,它對那個人很有用,但毫無疑問,這對我並不適用。這就是我現在所擁有的:backbone.js視圖中的tagName鍵
//My view for one book
var BookView = Backbone.View.extend({
model: new Book(),
tagName: function() {
return this.model.get('tr');
},
initialize: function() {
this.template = _.template($('.books-list-template').html());
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
我也試過這樣:
//My view for one book
var BookView = Backbone.View.extend({
model: new Book(),
tagName: 'tr',
initialize: function() {
this.template = _.template($('.books-list-template').html());
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
'tagName:'tr''應該在'this。$ el'中給你一個'
@ muistooshort當我使用視圖時,表中什麼也沒有顯示,但是當我檢查控制檯中的元素時,json對象存在,但是沒有tr標記正在被創建或追加到表中。 – nodyor90z
您是否在任何地方將視圖的「el」添加到您的「
回答
你的第二個例子應該的工作,但我們只是保持它的基本知識:
好的,這樣工作。
你的第二個例子更復雜,但基本上與此相同,因爲你的
render
函數返回this
。所以,它應該有一個tr
元素包裝內部內容。順便說一下,
View
的tagName
是在您實例化時計算的 - 這發生在_ensureElement
的內部。如果您想要重新計算元素 - 比方說,在您的第一個
render
之前 - 您可以在適當的時間並在進行適當的檢查後調用view._ensureElement();
。來源
2015-08-09 13:01:30
相關問題