【发布时间】:2018-03-27 14:08:06
【问题描述】:
我正在使用弹出窗口(参考文档): https://angular.io/guide/router#displaying-multiple-routes-in-named-outlets
除了 URL 结构之外,一切都很好:
/domain/subPath/(popup:myopoup)
如何更改带有括号的默认结构? 我希望它是这样的:
/domain/subPath/popup
换句话说,我想删除括号,包括网址中的冒号。
在他们的文档中,弹出窗口也以这种方式出现(带括号)
这是一些代码:
.ts
{
path: 'mypopup',
component: MyComponent,
outlet: 'popup'
},
.html
<a [routerLink]="[{ outlets: { popup: ['mypopup'] } }]">Contact</a>
<router-outlet name="popup"></router-outlet>
【问题讨论】:
-
我认为你做不到。你需要有一种方法来定义你的多个 URL,如果你去掉括号,它只是一个没有任何辅助路由的常规 URL。
-
您的组件上是否有多个路由器插座?如果没有,那么你不需要命名它
-
@Ricardo,是的,我是,这就是为什么我必须命名这个...
-
就像@Maxime 所说,我认为不可能以一种干净的方式来改变你的 url 的结构并仍然使用 router-outlet 功能,这就是 Angular 团队实现它的方式。我会环顾四周看看是否找到解决方案
-
@Ricardo,tnx 我很感激。我不知道为什么 Angular 团队会这样做,别无选择……这很不寻常
标签: angular url angular-ui-router popup