ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

angular 路由跳转以及传参

2019-09-05 17:52:47  阅读:239  来源: 互联网

标签:传参 navigate angular user 跳转 router id 路由


1. 路由跳转方式一: /路由?id='001' 方式 -- queryParams 方式

 路由配置:{ path: 'details', component: bookDetailsComponent }

   a.  指令跳转:

  <a [routerLink]="['/details']" [queryParams]="{id: item.id}" style="color:blue; font-size: 12px;cursor:pointer">查看详情</a>

  routerLink: 跳转的路由,数组形式,传参有两种写法: 1. 使用 [queryParams]="{id: item.id}", 2. [routerLink]="['/details', id]", 数组第一个值是            路由,第二个值是要传递的参数

  b. js 实现跳转:

  

其中 this.router 是 Router 的实例

import  { Router } from '@angular/router'

constructor(private router: Router) {  }  jumpDetial(bookId: string): void {         this.router.navigate(['/details'], {             queryParams: {                 id: bookId             }         })     }

this.router.navigate(['user', 1]); 以根路由为起点跳转

this.router.navigate(['user', 1],{relativeTo: route}); 默认值为根路由,设置后相对当前路由跳转,跳转到子路由

this.router.navigate(['user', 1],{ queryParams: { id: 1 } }); 路由中传参数 /user/1?id=1

this.router.navigate(['view', 1], { preserveQueryParams: true }); 默认值为false,设为true,保留之前路由中的查询参数/user?id=1 to /view?id=1

this.router.navigate(['user', 1],{ fragment: 'top' }); 路由中锚点跳转 /user/1#top

this.router.navigate(['/view'], { preserveFragment: true }); 默认值为false,设为true,保留之前路由中的锚点/user/1#top to /view#top

this.router.navigate(['/user',1], { skipLocationChange: true }); 默认值为false,设为true路由跳转时浏览器中的url会保持不变,但是传入的参数依然有效

this.router.navigate(['/user',1], { replaceUrl: true }); 未设置时默认为true,设置为false路由不会进行跳转

2. 以 /路由/参数  的方式跳转 -- snapshot方式

 路由配置:  { path: 'details/:id', component: bookDetailsComponent }

1. 指令跳转传参:

  

  <a [routerLink]="['/details', item.id]"</a>

2. js 跳转:

  

  this.router.navigate(['/details', '1']

 

3. 获取参数

a. 快照方式获取参数 snapshot

this.queryParams = this.route.snapshot.params['id']

b. queryParams 方式获取参数

this.route.queryParams.subscribe(params=>{   this.queryParams = params['id']     console.log(this.queryParams) })

 

标签:传参,navigate,angular,user,跳转,router,id,路由
来源: https://www.cnblogs.com/monkey-K/p/11455272.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有