【Angular】——Angular Route路由传参

本文介绍了一种通过在路径中传递参数来实现路由跳转的方法,适用于需要在跳转时携带额外信息的应用场景。具体步骤包括修改路由配置以支持参数传递、实现跳转逻辑并在目标组件中获取这些参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:项目中涉及到了一个需求,点击链接的时候跳转一个页面,但是在跳转页面的时候。需要去查询相应班级下面所有班级成员。这就需要在跳转路由的时候传递参数。下面简单介绍一下实现的思路。

首先,路由传参有三种基本的方式



我选择的是第二种方法,在路径中传递参数。

第一步:修改路由的路径使其可以传递参数。在本来跳转路由的后面加上你要传递的参数。

{
    path: 'onclassmember-manage/:id', //id就是所带的参数
    component: OnclassmemberManageComponent

  }

第二步:编辑跳转路由事件

linkClick(data:any){
    //this.onClassInfo=this.data[data];
    
    console.log(this.data[data]);
    this.router.navigate(['workspace/education-plan/onclassmember-manage',this.data[data].id]);
    //this.router.navigateByUrl("onclassmember-manage");

  }

第三步:接收路由传的参数

import { Component, OnInit, ViewChild } from '@angular/core';
import { EducationPlanService } from '../../education-plan.service';
import { ActivatedRoute } from "@angular/router";  //引入路由

@Component({
  selector: 'app-onclassmember-manage',
  templateUrl: './onclassmember-manage.component.html',
  styleUrls: ['./onclassmember-manage.component.css']
})
export class OnclassmemberManageComponent implements OnInit {

  private id: string; //声明id接收路由带来的参数

  constructor(public epService: EducationPlanService, private router: ActivatedRoute) { }
  
  ngOnInit() {
    this.id = this.router.snapshot.params["id"];//路由id赋值给声明的id
    alert(this.id);
  }
}

后记:这只是其中一种解决问题的思路,遗留问题:这样有一个弊端就是暴露了id,之后可以在进行优化
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值