首页 > 几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取

几个经常用到的angular路由Router、ActivatedRoute 知识点:嵌套路由、路由跳转、路由传参、路由参数获取

深度玩家可移步Angular - 常见路由任务

1、嵌套路由

const routes: Routes = [{path: 'first',component: FirstComponent,//同步加载//这就是嵌套路由↓children:[{path:'first-sub1',component:firstSub1Component},{path:'first-sub2',component:firstSub2Component},]},
];

深度玩家可移步Angular - Router 

2、路由跳转


Relative Route to second component
import { Router } from '@angular/router';constructor(private router: Router) { }//各种跳转方式
this.router.navigate(['items'], { relativeTo: this.route });
this.router.navigateByUrl("/team/33/user/11");
this.router.navigateByUrl("/team/33/user/11", { skipLocationChange: true });
this.router.navigate(['team', 33, 'user', 11], {relativeTo: route});
this.router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});

3、路由传参

//1.以根路由跳转/login
this.router.navigate(['login']);//2.设置relativeTo相对当前路由跳转,route是ActivatedRoute的实例,使用需要导入ActivatedRoute
this.router.navigate(['login', 1],{relativeTo: route}); //3.路由中传参数 /login?name=1
this.router.navigate(['login', 1],{ queryParams: { name: 1 } }); //4.preserveQueryParams默认值为false,设为true,保留之前路由中的查询参数/login?name=1 to /home?name=1
this.router.navigate(['home'], { preserveQueryParams: true }); //5.路由中锚点跳转 /home#top
this.router.navigate(['home'],{ fragment: 'top' });//6.preserveFragment默认为false,设为true,保留之前路由中的锚点/home#top to /role#top
this.router.navigate(['/role'], { preserveFragment: true }); //7.skipLocationChange默认为false,设为true,路由跳转时浏览器中的url会保持不变,但是传入的参数依然有效
this.router.navigate(['/home'], { skipLocationChange: true });//8.replaceUrl默认为true,设为false,路由不会进行跳转
this.router.navigate(['/home'], { replaceUrl: true }); 

4、路由参数获取

import { ActivatedRoute } from '@angular/router';constructor( private route: ActivatedRoute ) {}//第一种:在查询参数中传递数据----------------------------------------
//在路由中传递
{path:"address/:id"} => address/1 => ActivatedRoute.param.id//点击事件传递
//在不同等级页面跳转可以用snapshot(快照方式)
this.route.snapshot.params.id
this.route.snapshot.queryParams.id//相同组件跳转需要使用subscribe(订阅方式)
this.route.params.subscribe((params: Params) => this.id = params.id )//第二种:在路由路径中传递参数数据----------------------------------------

this.route.snapshot.queryParams.id//拿到路由中的参数(即浏览器网页地址中url后面的?参数=)//第三种:在路由配置中传递数据----------------------------------------
{path:'home', component: HomeComponent,data:[{isPush:true}] } 
=> 
ActivatedRoute.data[0][isPush]
//同样也是有snapshot和subscribe两种类型
this.route.snapshot.data[0]['isPush']

如何修改当当前网页中url的参数Angular如何修改当前页面网页浏览器url后面?param1=xxx¶m2=xxx参数_你挚爱的强哥❤给你发来1条消息❤-CSDN博客app.component.html

【含hash的url】{ {path1}}

https://s-z-q.blog.csdn.net/article/details/120576030

更多相关:

  • Angular的常用路由守卫有5种,按照执行顺序: ① CanLoad:进入到当前路由的时候触发(若用户没有权限访问,相应的模块并不会被加载。这里是指对应组件的代码)。 ↓② CanAcitivate:进入到当前路由的时候触发(即使返回的是false,用户并没有权限访问该路由,但是相应的模块会被加载)。 ↓③ CanActivate...

  • 文章目录前言语法格式命令使用输出含义使用实例 前言 route命令用于显示和配置IP路由表,在不同节点间的网络通信,想要实现同一局域网之间的通信就需要交换机,不同局域网之间的通信就需要路由器。而路由器的存在是为了提供NAT转换,即提供ip地址和物理地址之间的映射关系,因为不同局域网节点之间的通信是需要直到对方局域网的外网ip...

  • 一、路由表 所谓路由表,指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。 二、常见路由表生成算法 路由算法是提高路由协议功能,尽量减少路由时所带来开销的算法。当实现路由算法的软件必须运行在物理资源有限的计算机上时高效尤其重要。路由算法必须健壮,即在出现...

  • 路由对象在使用了 vue-router 的应用中,路由对象会被注入每个组件中,赋值为 this.$route ,并且当路由切换时,路由对象会被更新。 so , 路由对象暴露了以下属性: 1.$route.path 字符串,等于当前路由对象的路径,会被解析为绝对路径,如 "/home/news" 。 2.$route.params 对象...

  • 编按:哈喽,大家好!说到将excel中的数据进行排名,大家首先想到就是rank函数,但如果说要按条件对数据进行排名呢?小伙伴们是不是一下子就蒙圈了,似乎还没有听说过按条件进行排名的函数。那么今天,老菜鸟就给大家分享一个在excel中按条件进行排名的公式套路,一起来看看吧!*********​在Excel的函数中,有按条件求和的SUMI...

  • #mysql.properties jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&autoReconnect=true&failOverReadOnly=false&user=...

  •     在conf/server.xml里面找到: …… 在前插入::

  •   CORS全称Cross-Origin Resource Sharing, 跨域资源共享,是HTML5的一个新特性,已被所有浏览器支持,不同于古老的jsonp只能get请求。 检测方式:   1.curl访问网站     curl https://www.huasec.com -H "Origin: https://test.co...

  • 解决方案:   driver中增加以下2行配置:   "unicodeKeyboard":True, #unicode编码输入   "resetKeyboard":True #隐藏软键盘 转载于:https://www.cnblogs.com/Inbreeze/p/9828568.html...