Angular 2多个出口

时间:2016-09-24 07:28:41

标签: angular angular2-routing angular2-template

我在项目中使用了角度2。我的项目有3个模块。应用程序模块(根模块),Auth模块和仪表板模块。我希望有两个路由器插座用于root和auth模块,另一个用于仪表板模块,以便将仪表板模板保留在所有页面中。但我的问题是,当我点击仪表板模块的任何组件时,角度表示无法匹配任何路径错误。 请注意,所有模块都有延迟加载以附加到根模块。 这是我的app.component.ts模板:

    <a routerLink="/auth" *ngIf="!auth.isLoggedIn()">Login</a>
    <a *ngIf="auth.isLoggedIn()" (click)="logout()">Logout</a>
    <router-outlet></router-outlet>
    <router-outlet name="admin"></router-outlet>

这是我的app.routing.ts文件:

const appRoutes:Routes = [
{
    path:'',
    redirectTo:'/auth',
    pathMatch:'full'
},
{
    path:'auth',
    loadChildren:'/dpm/app/modules/Auth/auth.module'
},
{
    path:'dashboard',
    loadChildren:'/dpm/app/modules/Dashboard/dashboard.module',
    canActivate:[AuthGuard]

}
];

这是我的dashboard.routing.ts文件:

const routes:Routes = [
{
    path:'',
    component:DashboardComponent,
    canActivate:[AuthGuard]
},
{
    path:'users',
    component:UsersComponent,
    canActivate:[AuthGuard],
    outlet:'admin'
},
{
    path:'candidates',
    component:CandidatesComponent,
    canActivate:[AuthGuard],
    outlet:'admin'
},
{
    path:'permissions',
    component:PermissionsComponent,
    canActivate:[AuthGuard],
    outlet:'admin'
},
{
    path:'holidays',
    component:HolidaysComponent,
    canActivate:[AuthGuard],
    outlet:'admin'
}
];

0 个答案:

没有答案