角度4-按下后退按钮时如何路由到特定组件?

ani*_*824 5 angular-routing angular

我想back在浏览器中单击按钮时路由到特定路径。

我正在尝试以下代码片段。但是,它会立即将URL更改为所需的URL,然后路由到先前的实际URL。

constructor(location: PlatformLocation, private router: Router) {
    location.onPopState(() => {
        router.navigate(['/home']);
    });
}
Run Code Online (Sandbox Code Playgroud)

ani*_*824 4

我通过某种不同的方式并使用 JavaScript 找到了解决方案。

假设我当前位于“/menu”中,并且我想在按下后退按钮时导航到“/home”。检查以下代码片段。

ngOnInit() {
window.history.pushState( {} , 'Home', '/home' );
window.history.pushState( {} , 'Menu', '/menu' ); }
Run Code Online (Sandbox Code Playgroud)

这里我在 window.history 里面推送了两个状态ngOnInit()(/home)首先是我想在按返回键时访问的URL ,然后是当前的 URL (/menu)

它运作良好,我已经实现了我想要的。