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: ''
}];