Angular6 路由传参及获取参数的两种方式

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:44   1956   0

第一种:Path传参

http://localhost:4200/vehicle-manage/details/34

routers配置

{ path: 'details/:id', component: VehicleManageDetailsComponent, data: { title: '车辆详情' } }

源页面——传递参数

details(id) {
  this.router.navigateByUrl(`vehicle-manage/details/${id}`);
}

目标页面——获取参数

ngOnInit() {
  let id = 0;
  this.activatedRoute.params.subscribe(param => {
    id = param.id;
    console.log(id, '第一种'); // 34 第一种
  });
}

第二种:Query传参

http://localhost:4200/vehicle-manage/details?id=34

routers配置

{ path: 'details', component: VehicleManageDetailsComponent, data: { title: '车辆详情' } }

源页面——传递参数

details(id) {
  this.router.navigate(['vehicle-manage/details'], {
    queryParams: {
      id
    }
  });
}

目标页面——获取参数

ngOnInit() {
  let id = 0;
  this.activatedRoute.queryParams.subscribe(queryParam => {
    id = queryParam.id;
    console.log(id, '第二种'); // 34 第二种
  });
}

注意: 两种都需要引入服务

源页面

constructor(
  private router: Router
) { }

目标页面

constructor(
  private activatedRoute: ActivatedRoute
) { }

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP