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