路径中的Angular 4路由器%2F符号

时间:2017-07-28 07:58:58

标签: angular angular4-router

angular4路由器存在一些问题。

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

所以路由无法正常工作,因为它无法匹配任何路由,因为我为(mypath / example)定义了它

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

我曾尝试将/ *添加到路由器链接但它仍无法正常工作。谢谢你的回答。

2 个答案:

答案 0 :(得分:2)

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

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

基本上确保*

之后有/

答案 1 :(得分:0)

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

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

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

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

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