Ich bin auf ein Problem mit Angular 2 gestoßen, das TypeScript verwendet, auf das ich zusätzliche Augen anwenden kann. Ich fordere ein Token von einer API, die gut funktioniert. In meinem Antworthandler überprüfe ich auf grundlegende Fehler und zeige sie den Endbenutzern an. Wenn ich den Fehler und meine Nachricht von der Konsole auslogge, wird sie korrekt angezeigt, aber die Ansicht/Vorlage wird nicht aktualisiert.Angular 2 mit TypeScript: Die Ansicht wird nicht aktualisiert, nachdem die Variable im Antworthandler gesetzt wurde.
In meiner Klasse habe ich folgendes:
public message: string;
In meinem Konstruktor Ich habe:
constructor() {
this.message = 'Message to enduser';
}
Meine beiden Methoden sind die folgenden:
myRequest() {
(<any>window).privateAPI.getToken({
token: this.tmpData.token
}, this.responseHandler);
return false;
}
responseHandler(response: any) {
setTimeout(function() {
if (response.error) {
// this.message update is not updating in the template
this.message = response.error.message;
console.log('error: ', this.message);
} else {
// success
}
}, 100);
}
Jede Hilfe würde sehr geschätzt werden.
Das war mein erster Gedanke (Hissen), aber wenn ich die this.message in undefined in Folge versuche, kann nicht eingestellt Eigenschaft ‚message‘ undefinierter –
Sie damit zu sagen, 'this' es nicht definiert ist? Ich weiß nicht, mit welchem Kontext 'responseHandler' aus dem privateAPI-Callback aufgerufen wurde ... – Kaj
Ja das im setTimeout (() => {in der if-Bedingung –