angular4路由器存在一些问题。
我已经创建了一个菜单项列表,我从后端获得了用于创建路由器链接的对象,但是如果 menuItem.link 等于mypath / example,它将被angular替换为mypath% 2如果我单击此项目,则为示例。
所以路由无法正常工作,因为它无法匹配任何路由,因为我为(mypath / example)定义了它
<a [routerLink]="['/', menuItem.link, menuItem.id]" routerLinkActive="active_link">
我曾尝试将/ *添加到路由器链接但它仍无法正常工作。谢谢你的回答。
答案 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>