[英]*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.