Angular2:URL中冒号的编码不正确

Angular2:URL中冒号的编码不正确,angular,angular2-routing,url-encoding,Angular,Angular2 Routing,Url Encoding,我正在尝试构建一个带有两个路由器插座的应用程序,以便其中一个是左侧菜单。我在这个左菜单中有一个链接,可以在主插座中加载一个组件,但是如果我单击它,左菜单组件就会消失,因此我向它添加了(左菜单:左菜单)。 这是左菜单(left menu.component.html)的模板: 但我看到的是,链接中呈现的URL不是/form(左菜单:左菜单),而是/form(左菜单%3Aleft菜单),因此链接不起作用。另一方面,如果我在浏览器中写入正确的URL(带冒号),它会正常工作(也就是说,ProjectFo

我正在尝试构建一个带有两个路由器插座的应用程序,以便其中一个是左侧菜单。我在这个左菜单中有一个链接,可以在主插座中加载一个组件,但是如果我单击它,左菜单组件就会消失,因此我向它添加了
(左菜单:左菜单)
。 这是左菜单(
left menu.component.html
)的模板:

但我看到的是,链接中呈现的URL不是
/form(左菜单:左菜单)
,而是
/form(左菜单%3Aleft菜单)
,因此链接不起作用。另一方面,如果我在浏览器中写入正确的URL(带冒号),它会正常工作(也就是说,
ProjectFormComponent
被加载,而
LeftMenuComponent
仍保留在左边的出口)

有人知道为什么会这样吗


提前谢谢。

如果在routerlink周围放上方括号,并用单引号将url括起来,例如
[routerlink]=“'form(left menu:left menu)'”
,它是否有效?不,它也不起作用:(我不想通过提供这个解决方案作为答案来获得荣誉,但这是有效的。如果在routerlink周围放上方括号,并将url用单引号括起来,例如
[routerlink]=“'form(left menu:left menu)'”
,它是否有效?不,它也不起作用:(我不想把这个解决方案作为一个答案,但这是可行的。
<div class="leftmenu">
  <a routerLink="/form(left-menu:left-menu)">Go to the form!</a>
</div>
  const appRoutes: Routes = [
  {
    path: '',
    component: LeftMenuComponent,
    outlet: 'left-menu',
    pathMatch: 'full'
  },
  {
    path: 'leftmenu',
    component: LeftMenuComponent,
    outlet: 'left-menu',
  },
  {
    path: 'form',
    component: ProjectFormComponent
  },
  {
    path: '**', redirectTo: ''
  }];