[英]Backbone this.el vs this.$el
對於給定的例子, this.el
和this.$el
之間有什么區別this.$el
我明白this.$el
指向this.el
的jQuery對象,在這種情況下是'li'
。
當我渲染一個視圖時,我可以選擇this.el
或者this.$el
。 當我引用jQuery對象時,如何向頁面呈現內容? 我可以看到如何使用this.$el.html(property)
,指向html,但為什么追加this.$el
並讓它渲染讓我感到困惑。
var Person = Backbone.Model.extend({
defaults: {
name: 'John Doe',
age: 30,
occupation: 'worker'
}
});
var PersonView = Backbone.View.extend({
tagName: 'li',
initialize: function() {
this.render();
},
render: function() {
var out = this.$el.html(this.model.get('name') + this.model.get('occupation'));
console.log(this, this.el, this.$el, out);
$('body').append(this.$el);
},
});
var person = new Person;
var personview = new PersonView({model: person});
Bojangles是正確的。
this.$el
.addClass()
this.$el
是對jQuery上下文中元素的引用,通常用於.html()
或.addClass()
類的東西等。例如,如果你有一個id為someDiv
的div,你設置它對於Backbone視圖的el
屬性,以下語句是相同的:
this.$el.html()
$("#someDiv").html()
$(this.el).html()
this.el
是本機DOM元素,不受jQuery的影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.