我有很多与搜索相关的网页。如果单击broswer后退按钮,我想返回到同一个上一页。数据来自django Rest API。
现在我的解决方案是保存最后一个被调用的api并将其保存在会话存储中,但是我为每个需要这样的新组件编写了很多会话变量。
是否有一种可管理的方式处理此类请求?
答案 0 :(得分:0)
我认为你要找的是queryParams
,所以如果你根据查询参数构建你的组件,那么这不仅适用于浏览器的后退按钮,而且还可以让你自由地共享URL作为链接。
<击>
阅读ngOnInit()
下的查询参数并构建模型。
this._route
.queryParams
.subscribe((params) => {
// based on the received params -> render/request
})
// here _route is an ActivateRoute instance
击> <击> 撞击>
修改强>
我认为您必须收听路由器更改,很可能在导航更改时无法重新初始化该组件。要解决此问题,您可以使用ngOnInit()
:
this._router.events
.filter(event => event instanceof NavigationEnd)
.subscribe(() => {
console.log(this._activatedRoute.snapshot.queryParams);
// get the queryParams here and then based on some conditions, -> render/request, etc
})
// here _router is a Router instance and _activatedRoute is an ActivatedRoute instance