我有一个空路径的路由,作为我的应用程序中所有其他组件的保护 . 它的子代是应该保护未经过身份验证的用户的组件 .
其中一条路线激活模式对话框,我想在辅助路由器插座而不是默认插座中加载 .
在给定以下路由配置的情况下,URL将 home
路由加载到默认路由器出口和 mydialog
路由到指定的 popup
路由器出口是什么?
const routes: Route[] = [
{
path: 'login',
component: LoginComponent
},
{
path: '',
canActivate: [AuthenticatedGuard],
component: WrapperComponent,
children: [
{
path: 'home',
component: HomeComponent,
},
{
path: 'mydialog',
outlet: 'popup',
component: GigSelectionModalComponent
}
]
}
];
我尝试但没有奏效的事情:
-
/#/home(popup:mydialog) -> Error: Cannot match any routes. URL Segment: 'mydialog'
-
/#/home(popup:/mydialog) -> Error: Cannot match any routes. URL Segment: 'mydialog'
-
/#/home/(popup:mydialog) -> Error: Cannot match any routes. URL Segment: 'home'
-
/#/home/(popup:/mydialog) -> Error: Cannot match any routes. URL Segment: 'home'
-
/#/(home//popup:mydialog) -> Error: Cannot match any routes. URL Segment: 'home'
-
/#(/home//popup:mydialog) -> Error: Cannot match any routes. URL Segment: 'home'
Angular 4.1.3
PS
如果我将非空路径 app
分配给包装器路由,那么我可以通过以下URL成功导航: /#/app/(home//popup:mydialog)
.
但是,我坚持使用包装器的空路径 .
1 回答
您可以通过
lazyLoading
以角度来实现此目的 .LazyLoading参考:https://angular.io/guide/lazy-loading-ngmodules