Как сохранить данные при обновлении страницы в Angular 8? - PullRequest
0 голосов
/ 20 сентября 2019

Мне нужна помощь о том, как хранить конфиденциальную информацию при обновлении страницы в Angular8.Для передачи данных я использую сервисы, которые работают как положено, но я сталкиваюсь с проблемой, как хранить данные при обновлении страницы.Допустим, я на странице листинга при редактировании записи. Я сохраняю данные в BehaviourSubject, который прекрасно работает для получения информации.Но когда я обновляю идентификатор этой конкретной записи теряется.

Я использовал локальное хранилище для этого.После получения данных от субъекта поведения я сохраняю данные в локальном хранилище, а затем сбрасываю данные локального хранилища в CanDeactivate.Но, как и предполагалось, localStorage - неправильный подход, так как, когда я закрываю окно и снова открываю ту же страницу, он появляется с теми же данными.Пожалуйста, помогите мне с этим.

  ngOnInit()

    {
    this.getCountryAgencyLevel(GlobalCodeEnums.CountryId);
    this.setCountryDropdown();
    this.vendorProductId = "";
    this.reset();
    this.getStateList();
    this.currentUser = this.sharedService.getUserDetail();
    this._dataExchangeService.getVendorId().pipe(first()).subscribe(res => {
      if (res != null && res != -1) {
        localStorage.setItem('CurrentVendor',JSON.stringify(res));
        let currentVendorId= localStorage.getItem('CurrentVendor');
        if(currentVendorId!=null && currentVendorId!=undefined){
          console.log(currentVendorId);
        }
        this.showButton = "Update";
        this.governmentLabel = "Update"
        this.governmentVendorId = res;
        this.getGovernmentAgencyDetail(res);
        this._dataExchangeService.getVendorProductId().pipe(first()).subscribe(response => {
          if (response != null && response != -1) {
            this.priceSection = true;
            this.choosenProduct = response;
            this._dataExchangeService.setVendorProductId(-1);
          }
        })    
      }
    });
    if(localStorage.getItem('CurrentVendor')!=null && localStorage.getItem('CurrentVendor')!=undefined){
     this.getGovernmentAgencyDetail(localStorage.getItem('CurrentVendor'));
    }
    this._dataExchangeService.setVendorsId(-1);
    this.governmentVendorId = null;
    canDeactivate()
    {
    localStorage.removeItem('CurrentVendor');
    if (this.governmentAgencyForm.dirty) {
      this.confirmationService.confirm({
        message: 'Are you sure that you want to leave this screen?',
        accept: () => {
          return true;
        }})
    }
    return true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...