在Angular 7中,可以使用多个路由出口来在仪表板应用程序中显示不同的组件。下面是一个使用多个路由出口的示例解决方法。
首先,在app.module.ts文件中,需要导入RouterModule和Routes模块,并定义路由配置。在路由配置中,可以为每个路由指定一个出口名称。
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { DashboardComponent } from './dashboard/dashboard.component';
import { SidebarComponent } from './sidebar/sidebar.component';
import { HeaderComponent } from './header/header.component';
const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'dashboard', component: DashboardComponent, outlet: 'dashboardOutlet' },
{ path: 'sidebar', component: SidebarComponent, outlet: 'sidebarOutlet' },
{ path: 'header', component: HeaderComponent, outlet: 'headerOutlet' }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
接下来,在app.component.html模板中,可以使用多个带有指定名称的
App Component
然后,在dashboard.component.html、sidebar.component.html和header.component.html模板中,可以放置对应的组件内容。
最后,在应用程序中使用routerLink指令来导航到不同的路由,并在链接中指定出口名称。
Dashboard
Sidebar
Header
这样,当导航到不同的路由时,对应的组件将会显示在指定的路由出口中。
注意:多个路由出口只在有同一级路由的情况下才起作用。如果路由存在父子级关系,需要使用命名路由来实现类似的效果。