我有一个组件,该组件在ngOnInIt
内部运行对服务的http订阅,并获取用户并显示他们。从标头导航到该页面时,效果很好,但是当用户刷新页面时,即使执行了订阅并返回了数据,数据也不会立即呈现。
相反,我必须将鼠标悬停在菜单项和html渲染上。
我看过ngZone
和ChangeDetectorRef
,但不确定解决此问题的最佳方法是什么。
ngOnInit() {
this.auth.getAllUsers()
.subscribe(results => {
console.log(results);
this.testUsers = results.message;
console.log(this.testUsers);
}
}, err => {
if (err.error) {
this.errorMessage = err.error.message;
this.isError = true;
}
});
}
<div class="row"*ngFor="let user of testUsers; let i = index">
<div class=" list-group" style="width:30%">
<p class="list-group-item list-group-item-action active">
{{user?.UserName}}
</p>
</div>
</div>
// Service
getAllUsers() {
return this.http.get<User>(API_USERS_URL + '/GetUsers')
.pipe(
catchError(this.handleError('Error Grabbing Users', 'message')));
}