Mootools - Using .bind(this)
From MooTools Users | Google Groups
#############
var toto = new Class ({
Implements: Options,
options: {
message: "toto"
},
initialize: function(elem, options){
this.setOptions(options);
this.alternateMessage = "a message";
this.elem = elem;
this.elem.addEvent('click', function(){
this.alternateMessage = "other message";
this.aMethod();
}.bind(this));
},
aMethod: function(){
alert(this.options.message);
}
});
##################
in this class, you can see two effects of this binding in this
function
this.elem.addEvent('click', function(){
this.alternateMessage = "other message";
this.aMethod();
}.bind(this));
- this.alternateMessage is now changed for the whole class, not only
inside the fucntion as this refers to the class
- without binding the click function with .bind(this) the result would
be "this.alternateMessage has no properties", "this.aMethod() is not a function"
binding the function to the class (this) allows it to use any method
or this.var set inside it
1 comentario:
this one can interest you
http://www.moonkiki.com/moonkiki/imoogle
Publicar un comentario