Angular 是否有方法以角度2+;显示零部件的先前状态;?(不改变路线)

Angular 是否有方法以角度2+;显示零部件的先前状态;?(不改变路线),angular,Angular,我有一个组件,其中根据变量状态显示不同的表。 我很好奇,当我在浏览器中单击“后退按钮”时,是否有一种方法可以显示组件以前的状态。唯一的方法是使用类似的方法。将变量存储在查询参数中。 每次变量更改时,请更改查询参数: constructor( private route: ActivatedRoute, private router: Router ) { } changeParam(newValue: string) { this.router.navigate([],

我有一个组件,其中根据变量状态显示不同的表。
我很好奇,当我在浏览器中单击“后退按钮”时,是否有一种方法可以显示组件以前的状态。

唯一的方法是使用类似的方法。

将变量存储在查询参数中。 每次变量更改时,请更改查询参数:

constructor(
    private route: ActivatedRoute,
    private router: Router
) { }

changeParam(newValue: string) {
    this.router.navigate([], {
        relativeTo: this.route,
        queryParams: { yourParamName: newValue }
    });
}
这将把新的URL推送到浏览器的历史记录中,但它将重用路由,并且不会重新加载整个页面。您当前的变量值将在查询参数中可用


如果在该路由中使用其他查询参数,请添加
queryparams:“merge”
选项以确保它们不会被删除:

this.router.navigate([], {
    relativeTo: this.route,
    queryParams: { yourParamName: newValue },
    queryParamsHandling: 'merge'
});
阅读和文档了解所有可用选项


如果您不接受更改路线查询参数,则无法通过浏览器中的“后退”按钮实现该行为(据我所知)