Angular 角度4路由器%2F符号在路径中

Angular 角度4路由器%2F符号在路径中,angular,angular4-router,Angular,Angular4 Router,angular4路由器有一些问题 我已经创建了一个菜单项列表,并从后端获取了用于创建路由器链接的对象,但如果menuItem.link等于mypath/example,则如果我单击此项目,它将替换为mypath的角度%2Example 所以路由不起作用,因为它不能匹配任何路由,因为我已经为(mypath/example)定义了它 我已尝试将/*添加到路由器链接,但仍然无法工作。谢谢您的回答。%2F呈现为/字符(百分比编码)。问题出在路由配置中。请确保您使用以下内容: ({ path: "/*

angular4路由器有一些问题

我已经创建了一个菜单项列表,并从后端获取了用于创建路由器链接的对象,但如果menuItem.link等于mypath/example,则如果我单击此项目,它将替换为mypath的角度%2Example

所以路由不起作用,因为它不能匹配任何路由,因为我已经为(mypath/example)定义了它


我已尝试将/*添加到路由器链接,但仍然无法工作。谢谢您的回答。

%2F呈现为/字符(百分比编码)。问题出在路由配置中。请确保您使用以下内容:

({ path: "/*yourroute", component: yourcomponent, name: "Name" }),

基本上,当您使用routerLink作为如下数组时,请确保在
/
之后有
*

标题
它将对数组的每个成员进行URL编码。这是预期的行为,因为它假定您将每个变量作为路由或子级传递

如果您不想要这个,请将其作为字符串传递

标题

添加$locationProvider.hashPrefix(“”);在你的config@Vivz它对angular4有效吗?我已经试过了。在我的应用程序中,我有几个模块,在我的子路由中,我这样定义:{path:'',component:MainChildComponent,childs:[{path:'/*mypath/example/:id',component:ExampleComponent}]}但当我启动应用程序时,我出现了一个错误:路由路径的配置无效,无法使用slashDid启动。你找到答案了吗?我也有同样的问题
({ path: "/*yourroute", component: yourcomponent, name: "Name" }),