繁体   English   中英

* ngFor对象属性未定义

[英]*ngFor object attribute undefined

我开始使用来自Angular 1的Angular 2,我无法想象如何在对象的属性上使用ngFor。 this.myVar是根据HTTP请求的结果定义的,该请求定义了attr属性。

这是我的代码:

# my_page.ts
import {Page} from 'ionic-angular';
import {MyService} from '../../services/my_service';

@Page({
  templateUrl: 'build/pages/my_page/my_page.html',
  providers: [MyService]
})


export class MyPage {
  public myVar;

  constructor(private myService: MyService) {
    this.myService.fetch().subscribe(
      data => this.myVar = data
    );
  }
}

# my_page.html
<div *ngFor="#item of myVar.attr">
</div>

这是错误:

EXCEPTION:TypeError:无法读取[myVar.attr in ...中的undefined属性'attr'

谢谢!

因为最初直到ajax完成, myVar没有任何值,在评估ngFor表达式时,它会尝试访问未定义对象的attr属性。 使用[ Elvis operator ] [1],有? 它将检查对象是否已定义,如果已定义,则只评估它的attr属性。

<div *ngFor="let item of myVar?.attr"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM