2016-11-28 4 views
2

Я получил этот код в AppComponent:Не удается прочитать 'имя' свойства изотропных Angular2 JSON

getPlanetsToView(page){ 
    let pageToView = page*10 + 10; 

    for(var i=0; i<pageToView; i++){ 
    this.planetsToView.push(this.planets.planets[i]); 
    } 

} 

ngOnInit() { 
    this.http.get('app/planets.json').subscribe(res => { 
    this.planets = res.json(); 
    console.log(this.planets); 
    this.getPlanetsToView(0); 
    }); 

И у меня есть это в шаблоне:

{{planetsToView[0].name | json}} 

У меня проблема: Photo

Когда я попытался с {{planetsToView [0] | json}} он работает, но содержит и другие свойства.

ответ

3

Может быть эта проблема:

В то время ваш компонент инициализируется ваш JSON еще не загружен в this.planets потому что вызов http.get является асинхронным. Вы можете попробовать это в шаблоне: (Обратите внимание на , который добавляется?)

{{planetsToView[0]?.name | json}} 

? называется оператором elivs и используется для защиты от неопределенных ссылок в виде шаблонов. Читайте больше здесь:

+0

Когда я это сделал, я получил ошибку: main.browser.ts: 10 Ошибка: ошибки анализа шаблона: (...) –

+1

Я не знаю, где была ошибка, но когда я ее скопировал, начните работу. Спасибо! –

Смежные вопросы