我正在使用 Angular 7,并且在登录后面临一个问题 = > ,API GET 调用成功,组件也接收数据,但是 UI 没有显示那些数据。
当我打开浏览器控制台时,数据立即在 UI 中填充,并且控制台中显示一个警告。
“ core.js: 15686导航在角区外触发,是否忘记调用‘ ngZone.run ()’?”
我在谷歌上搜索了这个警告,发现了一些类似 this.ngZone.run()
的变通方法,并在其中调用了我的 API。
但问题是,我使用了40多个组件,并在每个组件中调用了如此多的 API。因此,我必须在每个 API 调用中调用 ngZone.run()
,这似乎很难做到。
请告诉我解决这个问题的更好的办法。 先谢谢你。
应用程序组件
getEmployees(): void {
this.employeeService.getEmployees().subscribe(e => {
this.employees = e;
});
}
应用服务
@Injectable()
export class EmployeeService {
constructor(private httpClient: HttpClient) { }
getEmployees() {
return this.httpClient.get<EmployeeModel[]>('employees');
}