我有一个页面,用户可以通过表单应用一些过滤器,然后用户可以选择一个经过筛选的元素并转到详细页面。
如果用户在详细页面上点击返回按钮,则会被重定向到筛选页面。筛选页面将重新加载,并且不会保留筛选器数据。
我使用history.back()函数来执行返回操作。
我想知道是否有一种方法可以在不重新加载页面的情况下导航回到先前显示的页面,以显示用户在详细链接上单击之前所看到的完全相同的页面。
export class FilterPage implements OnInit, OnDestroy {
private filterItems: string[];
constructor() { }
ngOnInit() {
if (localStorage.getItem('filterItems'))
this.filterItems = JSON.parse(localStorage.getItem('filterItems'));
} else {
this.filterItems = [];
}
}
ngOnDestroy() {
if(this.filterItems.length > 0) {
localStorage.setItem('filterItems', JSON.stringify(this.filterItems));
}
}
addFilterItem(item: string) {
if (!this.filterItems.includes(item)) {
this.filterItems = [...this.filterItems, item];
}
}
removeFilterItem(item: string) {
if (this.filterItems.includes(item)) {
this.filterItems = this.fiterItems.filter(currentItem => currentItem !== item);
}
}
}
Angular Route Reuse Strategy
(Angular路由复用策略)。