首页 > 解决方案 > 导航回父 URL

问题描述

当更改选项时,我试图导航回到父级网址,并且有更多路由参数,如果没有路由参数,请保留当前URL。

我会给你一个例子,让大家更清楚。

所以,我有 3 个组件:CompACompBCompC,它们包含一个项目列表,当我导航到其中一个时,我保留在 URL 中:

/compA/compB/compC

在每个组件内部导航到一个项目是可能的,也可以作为/compA/item1保存在 URL 中。

我有一个下拉菜单来选择一个特定的客户端,我想要的是在客户端更改并且我有路由参数时导航回父级,或者如果没有,则保留特定的路由。

例如,我在/compA/item2上并更改了客户端。预期的行为是导航到/compA。或者,如果我在/compB上并且我更改了客户端,我应该留在/compB上。

我找到了一个使用这个的解决方案

this.router.navigate(['.'], { relativeTo: this.activeRoute.parent });

但对我不起作用。

标签: angulartypescriptangular-routing

解决方案


我找到了一个解决方案:

const parentURL = this.router.url.split('/')[1];
this.router.navigate([parentURL]);

推荐阅读