У меня есть довольно простой веб-проект, чтобы узнать Angular2 RC3 (TypeScript). На данный момент у меня нет бэкэнд и попробуйте загрузить несколько изображений из файла JSON с помощью HTTP GET-запроса.Данные, возвращенные из сервиса Angular2 RC3 http undefined
Я следил за официальной документацией по созданию служб, и все работает без исключений или ошибок. Однако данные, возвращаемые из моей службы, всегда не определены, несмотря на то, что HTTP GET-запрос завершен успешно, и я могу видеть данные ответа в Firebug. Ниже то, что я сделал до сих пор ...
images.json файл:
[
{
"description": "image1",
"file": "image1.jpeg"
},
{
"description": "image2",
"file": "image2.jpeg"
},
{
"description": "image3",
"file": "image3.jpeg"
}
]
Часть службы, ответственной за загрузку файла JSON выглядит следующим образом:
import { Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
....
constructor(private http: Http) {}
getImages(imagesUrl) : Promise<Image[]> {
return this.http.get(imagesUrl)
.toPromise()
.then(response => response.json().data)
.catch(this.handleError);
};
изображение простой класс:
export class Image {
description : string;
file : string;
}
Компонент, который использует службу выглядит отчасти так:
...
@Component({
...
providers : [ ImageService ]
...
})
constructor(private imageService : ImageService) {}
ngOnInit() {
this.imageService.getImages(this.imageSrcDir + "images.json")
.then(images => console.log(images))
.catch(error => console.log(error));
}
console.log (изображения) сверху, отображает неопределенный
Я очень озадачен тем, что я сделал неправильно , любая помощь действительно ценится.
Nice catch @JBNizet! Спасибо за молниеносный ответ. Я полностью пропустил этот, теперь он отлично работает! –