4

angular4路由器有一些问题。

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

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

<a [routerLink]="['/', menuItem.link, menuItem.id]" routerLinkActive="active_link">

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

4

2 回答 2

2

%2F 呈现为 / 字符(百分比编码)。问题出在您的路由配置中。确保你使用这样的东西:

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

基本上确保你*/

于 2017-07-28T08:09:33.087 回答
0

当您将 routerLink 用作这样的数组时:

<a [routerLink]="[var1, var2]">title</a>

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

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

<a [routerLink]="var1 + var2">title</a>
于 2020-04-03T23:23:02.857 回答