在Angular中,可以使用多级路由来实现路由嵌套和页面导航。下面是一个示例,展示了如何使用多级路由。
首先,在路由配置文件(通常是app-routing.module.ts)中定义多级路由。例如:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';
import { ContactComponent } from './contact/contact.component';
import { ProductsComponent } from './products/products.component';
import { ProductDetailsComponent } from './product-details/product-details.component';
const routes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'about', component: AboutComponent },
  { path: 'contact', component: ContactComponent },
  { path: 'products', component: ProductsComponent, children: [
    { path: 'details/:id', component: ProductDetailsComponent }
  ]}
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
在上面的示例中,我们定义了四个基本路由(Home,About,Contact,Products)和一个嵌套路由(ProductDetails)。嵌套路由被定义在children数组中,并且它们的路径是相对于父级路由的。
接下来,在父级组件的模板中(例如products.component.html),使用来显示子级组件。例如:
Products
 
在上面的示例中,我们使用routerLink指令来导航到子级路由(ProductDetails)。当导航到子级路由时,子级组件的内容将显示在的位置。
最后,在子级组件(例如product-details.component.ts)中,使用ActivatedRoute服务来获取路由参数。例如:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
  selector: 'app-product-details',
  templateUrl: './product-details.component.html',
  styleUrls: ['./product-details.component.css']
})
export class ProductDetailsComponent implements OnInit {
  productId: string;
  constructor(private route: ActivatedRoute) { }
  ngOnInit() {
    this.productId = this.route.snapshot.paramMap.get('id');
  }
}
在上面的示例中,我们使用ActivatedRoute服务的snapshot属性来获取路由参数(例如,id)。然后,我们可以在组件中使用这个参数来执行相应的操作。
通过以上示例,你可以了解到如何在Angular中使用多级路由来实现路由嵌套和页面导航。