Angular 2-没有可怕URL的命名路由器出口

ada*_*orp 5 angular2-routing angular

我想要两个路由器出口,一个是主出口,另一个是模态出口。导航到时/login,我想在主要出口中显示我的home组件,在模式出口中显示我的登录组件。像这样:

{
   path: 'login',
   component: HomeComponent
},
{
   path: 'login',
   component: LoginComponent,
   outlet: 'modal'
}
Run Code Online (Sandbox Code Playgroud)

这可以通过使用可怕的辅助网址(例如)来实现/home(modal:login),但是当然没有人希望其网址看起来像那样。

没有这些网址该如何解决?

小智 5

你为什么不走少零件路线,

{
    path: 'login',
    children: [
        {
            path: '',
            component: HomeComponent
        },
        {
            path: '',
            component: LoginComponent,
            outlet: 'modal'
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这将确保当您的路由为/ login时,HomeComponent将进入主出口,LoginComponent将进入名称为“ modal”的路由器出口。

  • 这看起来像是两条不同的路线,但相同的路径指向不同的出口。这说得通。但是,我不明白为什么需要无组件路由。为什么我不能只有两条共享“登录”路径的路由,每条路由都指向不同的出口? (2认同)