Angular/14 版本的 Router 是 Angular 框架中用于实现单页面应用程序(SPA)路由的核心组件。它允许你定义应用程序的路由配置,并能够根据用户的导航请求动态地渲染不同的组件。
主要特性
- 声明式路由:通过使用
<router-outlet>
指令来指定组件的挂载点,并通过<router-link>
指令来定义导航链接。 - 路由守卫:提供路由守卫机制,可以在路由导航之前执行权限验证或其他逻辑。
- 懒加载路由:支持路由组件的懒加载,以优化应用程序的加载性能。
使用方法
- 定义路由:在
app-routing.module.ts
文件中定义路由配置。 - 使用
<router-outlet>
:在组件模板中添加<router-outlet>
指令,用于渲染当前路由对应的组件。 - 添加导航链接:使用
<router-link>
指令来创建导航链接。
<router-link to="/about">关于我们</router-link>
<router-outlet></router-outlet>
路由守卫
路由守卫分为三种类型:全局守卫、路由独享守卫和组件内守卫。
- 全局守卫:在所有路由导航之前执行。
- 路由独享守卫:在特定路由导航之前执行。
- 组件内守卫:在路由进入或离开当前组件时执行。
import { RouterModule, Routes } from '@angular/router';
import { NgModule } from '@angular/core';
const routes: Routes = [
{ path: 'about', component: AboutComponent, canActivate: [AuthGuard] }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
扩展阅读
更多关于 Angular Router 的信息,请访问 Angular Router 官方文档。
Angular Router