【发布时间】:2012-04-04 21:07:05
【问题描述】:
我试图理解使用关键字“this”或者更确切地说它在 jQuery 与像 Backbone 这样的 MVC 框架中所代表的区别。
下面是每个的 2 个代码示例; 所以在 jQuery 中,我们有
$("#result").click(function(){
$(this).html(someval);
})
在 Backbone 中,我们的代码为;
var HandlebarsView = Backbone.View.extend({
el: '#result'
initialize: function(){
this.template = Handlebars.compile($('#template').html());
},
render: function(){
var html = this.template(this.model.toJSON());
this.$el.html(html);
}
});
现在我明白“this”指的是 jQuery 中的 DOM 元素。
我想了解它在主干代码的情况下代表什么。
请告诉我。
【问题讨论】:
-
this指的是HandlebarsView的实例。this.model、this.template和this.$el是HandlebarsView视图的成员,您可以参考文档了解更多详细信息 backbonejs.org/#View -
要知道某物是什么,请使用
console.log( this );或console.dir( this );。这应该对你有帮助。 -
“现在我明白了“this”指的是 jQuery 中的 DOM 元素。” - 除非它不...
标签: javascript jquery backbone.js javascript-framework