案例代码如下,其中app-routing.module.ts
是Angular的路由模块文件,app.component.html
是应用的根组件模板文件。
app-routing.module.ts:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';
import { NotFoundComponent } from './not-found/not-found.component';
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent, outlet: 'main' },
{ path: 'about', component: AboutComponent, outlet: 'main' },
{ path: '**', component: NotFoundComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
app.component.html:
在上面的代码中,我们定义了两个router-outlet
,一个是默认的出口,另一个是命名为main
的出口。路由配置中的outlet
属性指定了每个路由对应的出口。
在模板文件app.component.html
中,我们使用了两个router-outlet
,分别用于显示默认的路由和命名为main
的路由。
这样,当路由匹配到home
路径时,HomeComponent
会在默认的router-outlet
中显示,当路由匹配到about
路径时,AboutComponent
会在命名为main
的router-outlet
中显示。
如果没有匹配的路由,会显示NotFoundComponent
。
这样,我们就可以根据需要在不同的路由出口中显示不同的组件。