无法读取属性' name' null Angular2 JSON

时间:2016-11-28 17:18:15

标签: json angular

我在AppComponent中获得了这段代码:

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}}它可以工作,但也包含其他属性。

1 个答案:

答案 0 :(得分:3)

可能是这个问题:

在初始化组件时,您的JSON尚未加载到this.planets,因为http.get调用是异步的。您可以在模板中尝试此操作:(请注意添加的

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

称为elivs运算符,用于在视图模板中安全防范未定义的引用。在这里阅读更多内容: