【发布时间】:2018-08-11 12:15:22
【问题描述】:
TypeError: Cannot read property 'outlets' of null
我,正在使用参数化路由来传递每个项目的 id。该路线运行良好。
{ path: 'item/:id', component: SingleItemComponent }
<a class="mdl-button mdl-js-button mdl-button--icon" [routerLink]="['/item', _genericViewModel.data?.question.questionId]">
因为,在第一次加载页面时,id 是空的,因为数据不是从服务器获取的。我得到 null _genericViewModel.data?.question.questionId] 的原因是因为异步调用。当它从服务器获取数据时,一切正常。
如何,我可以在组件的初始加载时检查 null 条件。
这是从服务器获取数据的代码
constructor(private route: ActivatedRoute, genericViewModel: GenericResponseObject<SingleItemViewModel>, singleItemService: GenericHttpClientService,) {
this._genericViewModel = genericViewModel;
this._singleItemService = singleItemService;
this.route.params.subscribe(params => this.getHomeItemHttpCall(params.id));
}
private getHomeItemHttpCall(id: string): void {
this._singleItemService.GenericHttpGet<GenericResponseObject<SingleItemViewModel>>(this.GetHomeItemUrl + id).subscribe(data => {
if (data.isSuccess) {
this._genericViewModel.data = data.data;
}
}, error => {
console.log(error);
});
}
【问题讨论】:
标签: javascript html angular typescript angular5