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

时间:2017-04-22 19:15:51

标签: angular angular2-routing url-encoding

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

<div class="leftmenu">
  <a routerLink="/form(left-menu:left-menu)">Go to the form!</a>
</div>

这是我传递给RouterModule.forRoot(routes)的路线数组:

  const appRoutes: Routes = [
  {
    path: '',
    component: LeftMenuComponent,
    outlet: 'left-menu',
    pathMatch: 'full'
  },
  {
    path: 'leftmenu',
    component: LeftMenuComponent,
    outlet: 'left-menu',
  },
  {
    path: 'form',
    component: ProjectFormComponent
  },
  {
    path: '**', redirectTo: ''
  }];

但我看到的是,链接中呈现的网址不是/form(left-menu:left-menu)而是/form(left-menu%3Aleft-menu),因此链接不起作用。另一方面,如果我在浏览器中写入正确的URL(带冒号),它可以正常工作(即加载ProjectFormComponent并且LeftMenuComponent保留在左侧插座中。

任何人都知道为什么会这样?

提前谢谢。

0 个答案:

没有答案