MessageManager, {
setRead : function(message) { // message est local à setRead
new Action('setread', {id : message.id}, function(data) {
alert(message.content); // Mal, le browser doit sauvegarder quelque part la valeur de message pour pouvoir la réutiliser ici -> memory leak
}.bind(this));
}
}
2 solutions :
1/
MessageManager, {
setRead : function(message) { // message est local à setRead
new Action('setread', {id : message.id}, function(data) {
var id = data.id;
// Rechercher le message avec son id dans la liste des messsages
for (var i = 0; i < this.messages; i++)
...
}.bind(this));
}
}
2/
MessageManager, {
setRead : function(message) { // message est local à setRead
this.message = message; // this.message est un attribut de MessageManager
new Action('setread', {id : message.id}, function(data) {
// Grace au bind, on peut accèder à tous les attributs de MessageManager, dont this.message
alert(this.message.content);
}.bind(this));
}
}