Мне нужна помощь о том, как хранить конфиденциальную информацию при обновлении страницы в 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;