* ngFor无法读取未定义的属性

GJC*_*ode 0 angular

嗨,我有这个界面

export interface Apartment {
  id: number;
  address: string;
  rooms: Room[];
}
Run Code Online (Sandbox Code Playgroud)

这个组成部分

export class HomeComponent implements OnInit {
  apartment: Apartment;

constructor(...) {
  // service get call to retrieve an apartment
}

ngOnInit {}

}
Run Code Online (Sandbox Code Playgroud)

和一个模板

<h3>{{apartment.address}}</h3>
<ul>
   <li *ngFor=let room of apartment.rooms"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的问题是:Chrome开发者控制台说无法读取未定义的属性“房间”时,地址已正确打印,因此在一种情况下,nfFor中的单元房是未定义的。我认为调用ngFor时尚未加载单元对象。为什么?如何解决这个问题?我对Angular还是很陌生,我还不太清楚如何在DOM中加载组件。

Saj*_*ran 5

使用安全 navigation operator(?)

<h3>{{apartment?.address}}</h3>
<ul>
   <li *ngFor="let room of apartment?.rooms"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)