我使用Angular 2(v2.4.4),并routerLink
在组件之间导航。
这可以正常工作,但是如果我使用非常相同的快照参数(active.snapshot.params
)加载非常保存的组件,则不会再次加载该页面。因此,例如,如果我打开/page/56
并单击此处的链接,该链接指向/page/56
,相同的链接(从菜单等),则该组件将不会重新加载。(自上次加载以来,数据库中的情况可能会发生变化,因此需要重新加载页面。)
我通过指向绕过了它,/jump/page/56
并且Page 404控制器重定向到/page/56
。
这也可以很好地工作,但是如果我从中在浏览器中导航/page/56
,它将通过Page 404控制器转到/jump/page/56
哪个方向。所以基本上我无法导航。/page/56
据我所知,我无法通过HTML5历史记录API删除浏览器历史记录,但是如何/page/56
仅通过单击浏览器的后退按钮就可以返回到之前的页面?
该解决方案可能是一个独立于Angular 2的简单JavaScript技巧,因为它实际上并不加载新页面,而只是加载不同的组件并更改URL。(也因为这个原因,我不应该使用location.reload()
它,因为它将重新加载Angular 2和所有依赖的JS等)
预先感谢您的解决方案!
您可以使用skipLocationChange Like:
this.router.navigate(['/jump/page/12'],{skipLocationChange:true});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句