javascript - self.el vs this.el -


i'm following backbone.js tutorial , came across 2 functions initialize() , render(). initialize() used $(self.el).append() when appending html while render() used $(this.el).append(). confused difference, appreciate explaination, thanks!

js code

// views window.winelistview = backbone.view.extend({      tagname:'ul',      initialize:function () {         this.model.bind("reset", this.render, this);         var self = this;         this.model.bind("add", function (wine) {             $(self.el).append(new winelistitemview({model:wine}).render().el);         });     },      render:function (eventname) {         _.each(this.model.models, function (wine) {             $(this.el).append(new winelistitemview({model:wine}).render().el);         }, this);         return this;     } }); 

the first uses self keep reference this when scope changes when event fires. inside anonymous function (for event handler), this refer element fired event rather backbone controller.

the reference isn't needed in second case.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -