我對可觀察數據的知識是有限的,所以可能很明顯我在這裏做錯了。訂閱可觀察數據以獲取數據
在我的Angular 2組件上初始化時,會發生此調用。
ngOnInit(): void {
this.route.paramMap
.switchMap((params: ParamMap) => this.userService.getUser(+params.get('id')))
.subscribe(user => this.user = user);
console.info(this.user.id);
}
這就要求這種服務方法:
getUser(id: number): Promise<User> {
let url = this.baseUserUrl + 'GetUserAsync?id=' + id;
return this.http.get(url)
.toPromise()
.then(resp => resp.json() as User);
};
在用戶對象用於
<div class="row padding-left">
<div class="col-sm-6 base-info-container info-box-details">
<table class="info-box">
<tr>
<td>User Id: {{ user.id }}</td>
<td>Email: {{ user.email }}</td>
</tr>
</table>
</div>
</div>
Resp.json的數據絕對帶回HTML代碼的片段,但用戶組件上的變量isnt正在設置,我不知道爲什麼。
你好,可以你也提供了組件HTML中的一些代碼? –
@ t3__rry編輯帖子以包含其中的片段 –
您是否嘗試添加'?'(安全導航器操作符:https://angular.io/guide/template-syntax#the-safe-navigation-operator----和-null-property-paths)如下:'user?.id'? –