J'ai deux Javascript « objets » semblables à so ....Avoir la valeur correcte de « ceci » dans JS
var Object2 = new (function() {
this.FetchData = function(callback) {
// do some stuff
callback(data);
};
});
var Object1 = new (function() {
this.DisplayStuff = function() {
};
this.LoadData = function() {
Object2.FetchData(this.OnData);
};
this.OnData = function(data) {
// this == window
this.DisplayStuff(); // doesn't work
};
});
Lorsque Object1 reçoit le rappel à OnData, la valeur de « ce » est réglé à la fenêtre. Est-il possible de contourner ce problème afin que la valeur de "this" à l'intérieur de OnData soit l'instance de Object1 au lieu de window?
Qui appelle Object1.OnData? L'avez-vous attaché à un événement? Pourriez-vous montrer le code de la façon dont vous l'avez attaché à un événement? –
Où l'objet 2 appelle-t-il l'objet 1? Le rappel est-il l'une des méthodes de l'objet 2? –