Мне нужна помощь по поводу проблемы с sessionStorage.
Когда я меняю значение из раскрывающегося списка, оно меняется на странице, но после того, как я нажимаю на другую страницу и возвращаюсь, значение не сохраняется. Итак, что я сделал:
handleOnItemsPerPage(itemsPerPage) {
sessionStorage.setItem('itemsPerPage', JSON.stringify(itemsPerPage));
this.onFilter.emit({
items: this.cachedItems,
field: 'type',
type: this.selectedCategory,
query: this.searchQuery,
itemsPerPage: parseInt(itemsPerPage, 10),
sortAsc: this.isAscSort,
page: this.page
});
}
Когда я меняю значение, я сохраняю его в хранилище сеанса, поэтому, когда я возвращаюсь, чтобы отобразить его. Итак, в моем ngInit:
ngOnInit() {
this.sessionStorage = JSON.parse(sessionStorage.getItem('itemsPerPage'));
}
И в html:
<app-pager [pagedItems]="pagedItems"
[itemsPerPage]="sessionStorage ? sessionStorage : itemsPerPage"
[page]="page"
(onPageChange)="handleOnPageChange($event)"
(onItemsPerPage)="handleOnItemsPerPage($event)">
</app-pager>
Проблема в том, что первый раз работает, если я меняю значение и возвращаюсь на страницу, оно применяет изменения, но после того, как я снова меняю значение, оно меняется не на текущее значение, а на сеансовое.
Как именно это исправить? Спасибо.