【发布时间】:2018-02-28 21:43:05
【问题描述】:
我有下面的界面;
export interface IDetail {
name: string;
office: string;
addresses: Address[];
}
interface Address{
street: string;
zip: number;
}
我的服务方式,
getDetails(id: number): Observable<IDetail> {
return this._http.get(this._apiUrl+ "/" + id)
.map((response: Response) => <IDetail>response.json())
.catch(this.handleError);
关于组件的ngOnInit方法,
ngOnInit(): void {
this.getDetailsService(id)
.subscribe(data => {
this.detail = data;
console.log(this.detail);
this.AccessAddress();
},
error => this.errorMessage = <any>error);
}
AccessAddress(): void{
//After service call, trying to read addresses member
let addresses = this.detail.addresses;
}
在订阅方法中,我在控制台中看到了 IDetail 的输出。
服务调用后,当尝试读取地址成员时,我收到以下错误, ERROR TypeError: Cannot read property 'addresses' of undefined
在 html 文件上,我可以访问地址成员并在 UI 上显示。
<div *ngFor="let address of detail.addresses">
{{address.street}}
</div>
我需要更改接口来上课吗?或者我需要在访问之前初始化地址成员?或其他与 Observable 相关的东西?
【问题讨论】:
标签: angular typescript rxjs angular2-observables