我有产品列表页面,我有所有数据显示用户,如果用户正在应用过滤器,我使用Angular 2在客户端本身过滤列表,
现在,如果用户前进到项目详细信息页面并单击浏览器后退按钮,则所有应用的过滤器都应该消失,但我需要实现,以便在后退按钮上应该保留所有应用的过滤器.
解决方案我在想: –
方法:每当用户应用过滤器时,我们在URL中添加并重定向.
问题:在每个URL重定向API都将被调用.
有没有更好的方法可以解决这个问题?
最佳答案
如果您希望过滤条件在URL中可见(并且可以加入书签),请使用路由器参数并
重定向到包含更新参数的URL.如果你使用routerCanReuse(){return true;然后重新加载组件,但
调用justrouterOnReuse()`,您可以在其中
获取更新的参数.
如果您不希望过滤条件出现在URL中,请使用共享服务来存储参数,然后导航不会破坏参数值.确保提供服务的提供程序足够高(例如AppComponent),以便在组件被路由破坏时不会销毁它.