Angular最新教程-第十一节 路由四 (嵌套路由)

简介: Angular最新教程-第十一节 路由四 (嵌套路由)

今天我们继续来看路由。

这是我们关于路由的最后一节课。

嵌套路由的使用还是蛮频繁的


使用场景


场景一:

商城类应用会有大分区里面的小分区,

虽然也可以靠携带不同的路由参数来识别,

但是他们都在同一个视图里面,就会有一个很明显的问题。

有的分类内容比较多,列表很长,有些分类内容比较少,列表很短。

当从内容丰富的分类切换到内容很少的分类的时候,

会出现,内容很少的页面,下半部分会有一大片的空白。

滚动条也保留在原来的位置。


场景二:

关于我们内容里面很大可能会存在出现下面的分类。

比如一个医院网站的关于,会有医生、护士、还有医生个人简介,

这样的带着明显嵌套逻辑的页面。

场景三:

用户个人中心。(pc页面)

我们还是拿Angular中文社区的网站来看。

image.png

从图中我们可以知道,它的用户页面的路由是/home

点击切换到我的关注、我的粉丝等,路由分别是/home/follow/home/fans


配置路由

1、新建用户页面

$ ng generate component home

2、新建用户页面-我的主页

$ ng generate component home/main

3、新建用户页面-我的关注

$ ng generate component home/follow

4、打开src\app\home\home.component.ts

在头部导入

import { ActivatedRoute,Router,Routes } from ‘@angular/router’;

import { MainComponent } from ‘./main/main.component’;

import { FollowComponent } from ‘./follow/follow.component’;

在构造函数中注入

constructor(private router:Router,private route:ActivatedRoute) { };

定义子路由并导出

export const childRoutes:Routes=[
  {path:'',redirectTo:'main',pathMatch:'full'},
  {path:'main',component:MainComponent},
  {path:'follow',component:FollowComponent}
]

5、打开src\app\home\home.component.html

复制src\app\app.component.html的部分代码,稍作修改。

<ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" [routerLink]="['./main']">我的主页</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" [routerLink]="['./follow']">我的关注</a>
  </li>
</ul>
<router-outlet></router-outlet>

注意这里的<router-outlet></router-outlet>

和主页app.component.html中的<router-outlet></router-outlet>是不同的。

image.png

外层的navbar控制的是红色框框的路由切换。

内层的navbar控制的是蓝色框框的路由切换。


源代码:百度云 实际代码变化较少,不更新压缩文件。

码云:https://gitee.com/xiaohuOni/oniplan-ng 

有码云的帮忙给个star,感谢。


这节课的内容就到这里完成了。

感谢您的阅读。

我是莽夫,希望你开心。

目录
相关文章
|
3月前
|
Java Spring
🔥JSF 与 Spring 强强联手:打造高效、灵活的 Web 应用新标杆!💪 你还不知道吗?
【8月更文挑战第31天】JavaServer Faces(JSF)与 Spring 框架是常用的 Java Web 技术。本文介绍如何整合两者,发挥各自优势,构建高效灵活的 Web 应用。首先通过 `web.xml` 和 `ContextLoaderListener` 配置 Spring 上下文,在 `applicationContext.xml` 定义 Bean。接着使用 `@Autowired` 将 Spring 管理的 Bean 注入到 JSF 管理的 Bean 中。
64 0
|
3月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
68 0
|
3月前
|
SEO 搜索推荐 数据采集
让 JSF 应用秒变搜索引擎宠儿!揭秘 SEO 优化的神奇魔法,让你的网站脱颖而出!
【8月更文挑战第31天】随着互联网的发展,搜索引擎已成为用户获取信息的主要途径,SEO 对 Web 应用至关重要。本文介绍如何提升 JavaServer Faces(JSF)应用的 SEO 友好性,包括关键词优化、网页结构优化和外部链接建设等基础知识,并提出了使用语义化 HTML 标签、优化页面标题和描述、生成静态 HTML 页面及 URL 重写等具体策略,帮助您的网站在搜索引擎中获得更高排名。
32 0
|
3月前
|
安全 开发者
精通Angular路由管理:从基础设置到高级配置,打造复杂SPA导航系统的全方位指南
【8月更文挑战第31天】在单页应用(SPA)中,路由管理至关重要。Angular通过其强大的路由模块提供灵活高效的解决方案。本文通过代码示例详细介绍如何在Angular中设置和管理路由,包括基础路由配置、懒加载、路由保护及高级配置,帮助开发者构建高效安全的导航系统,满足复杂SPA需求。随着Angular的发展,路由管理将更加完善,值得持续关注。
33 0
|
3月前
|
前端开发 UED
Angular 动画教程超赞!掌握让应用更具交互性的技巧,开启精彩的前端动画之旅!
【8月更文挑战第31天】在现代前端开发中,提升用户体验至关重要,而动画是增强应用交互性的有效手段。Angular 提供了强大的动画功能,可轻松添加各种动画效果。本文介绍了 Angular 动画的基本概念、使用动画模块、事件触发动画、动画序列与并行执行、性能优化及结合第三方动画库等最佳实践。通过遵循这些实践,可以充分发挥 Angular 动画的优势,提升用户体验。下面是一个简单的示例应用,展示了如何使用 Angular 动画实现元素的显示和隐藏效果。
56 0
|
3月前
|
JavaScript 前端开发 API
如何在 Angular 路由中使用路由解析器
如何在 Angular 路由中使用路由解析器
37 0
|
3月前
如何在 Angular 路由中使用路由守卫
如何在 Angular 路由中使用路由守卫
46 0
|
3月前
如何在 Angular 路由中使用查询参数
如何在 Angular 路由中使用查询参数
27 0
|
3月前
|
JavaScript 前端开发 测试技术
如何在 Angular 中使用懒加载路由
如何在 Angular 中使用懒加载路由
29 0
|
3月前
|
API 开发者 UED
PrimeFaces:JSF的魔法衣橱,解锁UI设计的无限可能!
【8月更文挑战第31天】本文介绍如何结合 JSF(JavaServer Faces)和 PrimeFaces 构建美观且功能强大的现代用户界面。PrimeFaces 提供丰富的 UI 组件库,包括按钮、输入框、数据网格等,支持现代 Web 标准,简化界面开发。文章通过具体示例展示如何使用 `&lt;p:inputText&gt;` 和 `&lt;p:calendar&gt;` 等组件创建用户表单,并用 `&lt;p:dataTable&gt;` 展示数据集合,提升 JSF 应用的易用性和开发效率。
60 0