Ich mache http Anruf, um die Daten aus der lokalen JSON-Datei zu holen. Aufgrund der verspäteten Antwort kann ich die Antwortdaten auf der Vorlage nicht anzeigen.angular2 http Antwort Einstellung auf Klassenvariable
Der Dienst ruft einen HTTP-Aufruf ab, um die Daten aus der JSON-Datei abzurufen.
export class DataBook {
bookDetails: Array<Object>;
constructor(public http: Http) {
this.bookDetails = [];
}
makeDataReady(){
this.http.get('assets/preloaded-data/booksummaries.json')
.map(res => res.json())
.subscribe(
data => this.bookDetails = data,
error => alert(error),
() => console.log(this.bookDetails) //output the json file content
);
}
appendBook(book:Object)
{
this.bookDetails.push(book);
}
getBooks():Array<Object>
{
return this.bookDetails;
}
}
Die folgende Komponente ruft den Aufruf des HTTP-Aufrufs auf.
Ich bin neu in Angular2. Ich habe Mühe zu verstehen, warum es eine Verzögerung in der Antwort gibt?
Ich legte den HTTP-Aufruf in der ngOnInit es funktioniert nicht mehr. – forethought
HTTP-Anruf befindet sich in einem Dienst; Ich kann dort ngOnInit nicht benutzen – forethought