zoukankan      html  css  js  c++  java
  • Angular最新教程-第十一节 路由四 (嵌套路由)

    今天我们继续来看路由。
    这是我们关于路由的最后一节课。
    嵌套路由的使用还是蛮频繁的,

    使用场景

    场景一:
    商城类应用会有大分区里面的小分区,
    虽然也可以靠携带不同的路由参数来识别,
    但是他们都在同一个视图里面,就会有一个很明显的问题。
    有的分类内容比较多,列表很长,有些分类内容比较少,列表很短。
    当从内容丰富的分类切换到内容很少的分类的时候,
    会出现,内容很少的页面,下半部分会有一大片的空白。
    滚动条也保留在原来的位置。
    场景二:
    关于我们内容里面很大可能会存在出现下面的分类。
    比如一个医院网站的关于,会有医生、护士、还有医生个人简介,
    这样的带着明显嵌套逻辑的页面。
    场景三:
    用户个人中心。(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、打开srcapphomehome.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、打开srcapphomehome.component.html
    复制srcappapp.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_
    这里写图片描述

  • 相关阅读:
    CLRS 10.28
    [转]教你如何查看各种浏览器的Cookies[IE cookies信息]
    红黑树c实现
    ubuntu下eclipse中键盘失灵
    putty中文乱码解决
    [ 转]关于linux下wireshark启动时Lua报错
    c/c++运算符优先级
    CLRS 10.45
    ubuntu 12.04 安装NS2
    SQL IsDate()
  • 原文地址:https://www.cnblogs.com/xiaohuoni/p/7642246.html
Copyright © 2011-2022 走看看