Ich versuche ein Projekt in angular2 und Typoskript, und ich habe einige unerklärliche Probleme. Aus irgendeinem Grund kann ich keine Daten einer Klasseneigenschaft zuweisen.angular2 typescript kann dieser Eigenschaft nicht zuweisen.
Ich habe ein Paar von Klasseneigenschaften wie folgt definiert:
public loadResultMessages: string[];
public book: Book;
Ich habe eine Methode, wo ich einen Dienst wie dieser Aufruf:
getBookByCode() {
this.http.get('/api/book/loadbycode?code=' + this.bookCode)
.subscribe(result => {
var object = result.json();
console.log(object);
this.loadResultMessages = object.loadResultMessages;
this.book = object.book;
});
}
ich vergewissert haben, dass ich erhalte Daten zurück in das Objekt, aber auch nach dem Versuch, Daten den beiden Eigenschaften zuzuordnen, sagen sie undefined. Wie kann das sein?
EDIT: Okay, ich bin mit Visual Studio 2017 rum und setze Haltepunkte in meinem JavaScript. Ich wühlte über die Variablen und es sagte mir, dass sie undefiniert waren. Wenn ich sie jedoch an der Konsole auslogge, werden sie ausgefüllt. Andere Variablen kann ich Maus über und sie zeigen die Ergebnisse. Ich bin mir nicht sicher, ob dies eine Art von Timing-Problem oder ein Fehler in VS ist?
Ich denke, ich leide auch einige wichtige Caching-Probleme. Wenn ich die zusätzlichen console.log() -Aufrufe einsetze, hat mein Code plötzlich funktioniert.
Sie sie abonnieren können Sie das Ergebnis 'console.log (Objekt) hinzufügen;' hier? Wenn es '[Object object]' ist, versuche 'console.log (JSON.stringify (object))' und füge es deiner Frage hinzu? –
Wenn Sie Fehler in .html bekommen, versuchen Sie, Buch zu instanziieren: Buch = neues Buch (...) – Habeeb
Ich denke, wir brauchen mehr Informationen, Fehler, console.logs, etc ... – Amit