首页 > 解决方案 > 如何防止我的服务在 Angular 中缓存数据?

问题描述

我正在通过获取请求检索数据并将它们显示在表格中,如果我刷新页面,我将始终让请求以我想要的方式发生,但如果更改路线并返回表格页面,它将从第一个服务中获取缓存的数据,因此,如果我删除一个项目,它就会从表中消失。如果我更改路线,该项目将卷土重来,因为缓存的数据仍然有我删除的项目。提前致谢!

这是请求,它在 NgOnInit() 上执行

getSolicitacoes():Observable<any[]> {
    return this.http.get<any[]>(URL_API + '/solicitacao', httpOptionsUno);
  }

这就是我获取和删除表格中显示的数据的方式

getSolicitacoes() {
    this.solicitacaoService.getSolicitacoes().subscribe( data => {
      this.solicitacoes = data;
      this.dtTrigger.next();
    }, error => {
      console.log(error);
    })
  }

  apagarSolicitacao(id, index) {
      this.solicitacaoService.deleteSolicitacao(id).subscribe(data => {
        this.toast.success('Solicitação deletada com sucesso!');
        this.solicitacoes.splice(index,1);
      }, error => {
        console.log(error);
        this.toast.error('Não foi possível deletar a solicitação!');
      },
      () => this.rerender()
      )
    }

我已经尝试使用缓存控制、编译指示和过期标头将元标记添加到我的 html 中。我很抱歉我的英语,试图找到我的语言的解决方案,但这是一场斗争。

标签: javascriptangulartypescript

解决方案


推荐阅读