Я пытаюсь получить данные из REST API с помощью angular2, все до сих пор идет хорошо; Однако, у меня есть ошибка, которая показывает на консоли только при вызове {{content.img.url}}
он выполняет штраф на веб-странице только как это принести URL изображения, которая должна быть извлечена и показывает изображение, но в хромированной консоли показывает:TypeError: Не удается прочитать свойство 'url' undefined
EXCEPTION: TypeError: Cannot read property 'url' of undefined in [background-image: url('{{content[img].url}}'); in [email protected]:29]
У меня действительно нет идеи, почему он показывает ошибку только в консоли! любые идеи для решения этой проблемы?
Ниже вы можете найти подробную информацию о том, что я на самом деле делаю, чтобы получить данные с помощью API REST, предложения по улучшению кода приветствуются!
home.html
<div *ngFor="#content of c1">
<div class="cards" style="background-image: url('{{content.img.url}}');">
<div class="txt">{{content.c1Name}}</div></div>
</div>
home.js
export class HomePage {
static get parameters(){
return [[Http]];
}
constructor(http) {
this.http = http;
this.c1 = null;
//this is a bad way to do it as _defaultOptions is Protected, is there any way to do it better?
this.http._defaultOptions.headers.append('X-Parse-Application-Id', 'appk');
this.http._defaultOptions.headers.append('X-Parse-REST-API-Key', 'apikey');
this.http.get('https://example.com/classes/table').subscribe(data => {
this.c1 = data.json().results;
});
}
Выход извлеченной JSON
0:Object
createdAt:"2016-01-08T13:55:53.558Z"
c1Name:"Jack"
img:Object
__type:"File"
name:"tfss-6a8bf-1db8-4545-91e6-18-file.jpg"
url:"http://files.parsetfss.com/f213b50e-dsdsdas-23fsrfdfd-d/file.jpg"
objectId:"3mfH4sd23"
updatedAt:"2016-01-08T17:21:00.678Z"
«Выбранный JSON» соответствует содержимому свойства 'c1'? –
@ThierryTemplier да! –