Angular 路由是实现单页应用(SPA)多视图跳转的核心机制,通过 RouterModuleRouter 模块管理页面导航。以下是关键知识点:


1. 路由基础概念 📌

  • RouterModule:通过 forRoot() 方法配置全局路由
  • Router:用于程序化导航的实例(如 this.router.navigate([...])
  • Route:定义路由路径与组件的映射关系
  • 📌 图片
    angular_router

2. 路由模块配置 📁

app.module.ts 中引入路由模块:

import { RouterModule } from '@angular/router';
import { routes } from './app.routes';

@NgModule({
  imports: [RouterModule.forRoot(routes)]
})
export class AppModule {}

3. 路由组件示例 🧱

const routes: Route[] = [
  { path: 'home', component: HomeComponent },
  { path: 'about', component: AboutComponent },
  { path: 'contact', component: ContactComponent },
  { path: '**', redirectTo: 'home' } // 默认路由
];

4. 路由懒加载 ✅

通过 loadChildren 实现按需加载:

{ path: 'lazy', loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule) }

5. 导航策略 🚀

  • 浏览器导航BrowserModule 提供基础路由功能
  • HashLocationStrategy:使用 # 符号(适用于不支持 HTML5 History API 的场景)
  • PathLocationStrategy:基于 URL 路径的现代导航方式

📌 图片

lazy_loading


6. 扩展阅读 📚

📌 图片

navigation_strategy