Angular 12 辆车 api 缓存

Angular 12 auto api cache

我刚刚将 Angular 版本从 10 升级到 12,我注意到当页面 A 第一次加载时,然后以某种方式 link 我回到页面 A 没有 API 显示在网络选项卡中。我放置了 console.log('test') 并跟踪了问题,发现正在调用 HTTP 请求并返回响应,但不知何故 Angular 12 自动缓存请求并且不再调用 API。 我想禁用此功能,但找不到要做什么。

复制:

ngOnInit(): void {
  this.service.getDashboardInfo().subscribe(
    result => {console.log(result)},
    error => {console.log(error)}
  );
}

this.service.getDashboardinfo()是:

return this.http.get(this.api.DASHBOARD, { observe: 'response', headers: headers: new HttpHeaders({ 'Content-Type': 'application/json' }) });

第二次访问此页面时,正在调用 console.log(result),但在网络选项卡 XHR 中未显示任何内容,Api 响应立即返回,而不是正常的 500 毫秒,我认为这是与 Angular 12 自动缓存我的请求有关。

这只发生在 ng serve 中,在构建或 SSR 版本中一切正常。

刚刚遍历了整个APP,发现问题所在:TransferHttpCacheModule。删除它可以解决问题。我应该为 SSR 添加 BrowserTransferStateModule 但是我错误地添加了它