首页 > 解决方案 > 保持数据重新加载Angular 8

问题描述

我使用behaviourSubject RXJS,对于组件之间的交互,我得到了 3 个组件,其中

但问题是当用户重新加载支付组件数据获取的页面Behaviour Subject为空时,根据我的发现,我找到了使用的解决方案localStorage,但它不适用于我,还发现了另一个状态管理库,例如ngrx,我在项目中间,对我来说很难实施,有没有更好的做法来解决这个问题?

这是我尝试过的:

支付商店.service.ts

  private transactions = new BehaviorSubject<any>({});
  public transactions$ = this.transactions.asObservable();

    setTransaction(data) {
    this.transactions.next(data);
  }

支付组件.ts

  ngOnInit() {
    this.paymentStore.transactions$.subscribe(
      response => {
        this.totalSummon = response;
      }
    );
  }

这是我完整的stackblitz 演示。我可以使用一些建议和解决方案来解决这个问题。

标签: javascriptangulartypescriptrxjsstate-management

解决方案


如果在本地存储数据不是解决方案,那么最简单的解决方案是将其存储在数据库中。最好是不需要您自己设置后端的。

Firebase 将为您提供快速实施,因为它只需要初始设置并编写一些安全规则,以便正确的用户可以访问数据。

如果您之前从未使用过 Firebase,我建议您看看@angular/fire哪个是 Angular 的实现。你可以在这里找到它的文档:

https://github.com/angular/angularfire2

有一些示例文档可以帮助您入门。


推荐阅读