Ciao a tutti,
ho un problema di scopo nel definire una classe.
Codice PHP:
function Folder (o) {
// proprietà url
this.url = '';
// metodo load: carica del contenuto AJAX
this.load = function(o) {
ajax_connect ({target_id: this.update_div,
url: o.url,
'loader_icon': false,
callback: o.callback,
callback_params: o.callback_params
});
// setto la proprieta url all'oggetto
this.url = o.url;
}
// metodo refresh: ricarica l'url corrente
this.refresh = function() {
this.load(this.url);
}
}
var folder_profile = new Folder;
Il problema è che il metodo refresh, chiama un altro metodo passandogli una proprietà della classe come parametro.
Come c'è da aspettarsi chiamando il metodo
Codice PHP:
folder_profile.refresh()
perdo lo scopo e non funziona...come uscirne?
ho provato usando il metodo call:
Codice PHP:
this.refresh = function() {
this.load.call(this, this.url);
}
ma non funziona.
Penso che il tutto si possa risolvere anche con una closure ma non so come costruirla e ho paura di creare memory leaks.
Mi potete aiutare??
grazie mille in anticipo,
Augusto