角度捕捉(并防止)浏览器上单击上一页按钮



我使用Angular 9,在我的一个组件中,我在url中使用了几个#,但保持在同一个路由url中。

像这样思考:http://myWebsite/compo1#phase1;http://myWebsite/compo1#phase2;

我需要在用户点击";先前的";以及";下一个";按钮。

到目前为止,我使用的是:

@HostListener('window:popstate')

onPopState($event({updateUrl($event(;$event.prventDefault((;}

我可以看到url正在更新,但事件仍在继续,它仍然重定向到#(http://myWebsite/home(

知道我做错了什么吗?

如果使用angular router,则可以使用其内置事件。你试过了吗?

router.events
.filter(e => e instanceof NavigationEnd)
.subscribe(e => /* do stuff */)

https://angular.io/guide/router#router-事件

最新更新