сохранить данные о перезагрузке Angular 8 - PullRequest
0 голосов
/ 26 сентября 2019

Я использую behaviourSubject RXJS, для взаимодействия между компонентами я получил 3 компонента, где

  • форма запроса

    пользовательвведите идентификационный номер для проверки вызова, получения вызова и отправки ответа на запрос

  • ответ на запрос

    получения вызова из ответа на запрос и отображения вызова в формефлажка, затем отправьте выбранную сумму (общую сумму) в компонент платежа

  • компонент платежа

    , чтобы получить общую сумму из ответа на запрос и отобразить ее.

, но проблема в том, что пользователь перезагружает страницу на платежный компонент данные, получаемые с Behaviour Subject, пусты, на основании моего вывода я нашел решение, используя localStorage, но это не применимо ко мне, также найдено о другой библиотеке управления состоянием, такой как ngrx, я нахожусь в середине проекта, трудно для реализации, есть ли лучшая практика для решения этой проблемы?

вот что я пробовал:

payment-store.service.ts

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

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

payment-component.ts

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

и это моя полная демонстрация stackblitz .Я мог бы использовать некоторые предложения и решения, чтобы решить эту проблему.

1 Ответ

1 голос
/ 26 сентября 2019

Если локальное хранение данных не является решением, то самым простым решением было бы сохранить его в базе данных.Предпочтительно тот, который не требует, чтобы вы настраивали бэкэнд самостоятельно.

Firebase обеспечит вам быструю реализацию, поскольку для этого потребуется только первоначальная настройка и написание нескольких правил безопасности, чтобы правильный пользователь мог получить доступ к данным.

Если вы никогда раньше не использовали FirebaseЯ бы посоветовал взглянуть на @angular/fire, который является реализацией для Angular.Вы можете найти документацию здесь:

https://github.com/angular/angularfire2

С некоторыми примерами документов, которые помогут вам начать работу.

...