Angular最新教程-第十一节 路由四 (嵌套路由)
来源:互联网 发布:育知同创学费 编辑:程序博客网 时间:2024/06/05 02:01
今天我们继续来看路由。
这是我们关于路由的最后一节课。
嵌套路由的使用还是蛮频繁的,
使用场景
场景一:
商城类应用会有大分区里面的小分区,
虽然也可以靠携带不同的路由参数来识别,
但是他们都在同一个视图里面,就会有一个很明显的问题。
有的分类内容比较多,列表很长,有些分类内容比较少,列表很短。
当从内容丰富的分类切换到内容很少的分类的时候,
会出现,内容很少的页面,下半部分会有一大片的空白。
滚动条也保留在原来的位置。
场景二:
关于我们内容里面很大可能会存在出现下面的分类。
比如一个医院网站的关于,会有医生、护士、还有医生个人简介,
这样的带着明显嵌套逻辑的页面。
场景三:
用户个人中心。(pc页面)
我们还是拿Angular中文社区的网站来看。
从图中我们可以知道,它的用户页面的路由是/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>
是不同的。
外层的navbar控制的是红色框框的路由切换。
内层的navbar控制的是蓝色框框的路由切换。
源代码:百度云 实际代码变化较少,不更新压缩文件。
码云:https://gitee.com/xiaohuOni/oniplan-ng
有码云的帮忙给个star,感谢。
这节课的内容就到这里完成了。
感谢您的阅读。
我是莽夫,希望你开心。
如果你觉得本文对你有帮助,请扫描文末二维码,支持博主原创。
希望大家关注我的个人公众号ionic_
- Angular最新教程-第十一节 路由四 (嵌套路由)
- Angular最新教程-第八节 路由一(路由配置)
- Angular最新教程-第九节 路由二(路由策略、base标签、路由参数)
- angular.js 嵌套路由
- Angular最新教程-第十节 路由三(路由器钩子函数、路由守卫)
- angular路由(简单)
- AngularJS Router原生路由和Angular UI Router嵌套路由
- Angular中嵌套路由ui-router
- angular的uiRouter 嵌套路由学习总结
- angular 路由
- angular路由
- Angular路由
- angular 路由
- Angular路由
- angular路由
- angular路由
- angular路由
- Angular路由
- 原来Hadoop也是无心下的产物
- 【数据库范式详解】1NF-BCNF
- 程序在点击返回按钮是弹出AlertDialog
- ubantu16.04安装 nginx
- 九月 29, 2017 10:38:30 上午 org.apache.catalina.loader.WebappClassLoader loadClass 信息: Illegal access: t
- Angular最新教程-第十一节 路由四 (嵌套路由)
- ActiveMq+Zookeeper的高可用集群环境搭建
- iOS 二维码的扫描使用,以及图片预览,类似于相册
- cocos2dx Lua 定时器
- 项目报错“JavaServer Faces 2.2 can not be installed : One or more constraints”等一系列问题
- 简洁风格的Tab
- php连接oracle类 分页查询和乱码问题
- 菜鸟学习Cocos2d-x 3.x——浅谈动作Action
- Eclipse: Java was started but returned exit code=13