angular路由传递参数_在Angular路由器中动态传递数据

I am trying to send data(Object) from one component to another however I am getting an empty result.

Here is my code

routing module

{ path: 'booking/details', component: DetailsComponent, data: { title: extract('Details'), dataTransfer: '' } },

sending component

this.router.navigate(['/booking/details', this.caseData]);

this.caseData looks like this

{

"getAllInfo": {

"ticket": {

"internalNum": "12345",

"comp": "11"

},

"caseInfo": {

"masVolgnommer": "1",

"masMaand": "1",

"masJaar": "2010"

}

}

}

receiving component

this.caseData = this.route

.data

.subscribe(v => console.log(v.dataTransfer));

解决方案

Data property is not needed in your route - without adding data you can bind data as a json and read it { path: 'booking/details', component: DetailsComponent } this is fine to pass data while routing - whereas data property in your route declaration is used to pass data every time when the route is navigated

When you try to navigate booking/details everytime you will get data {title: "Details", dataTransfer: ""} to read this data you can inject ActivatedRouteSnapshotin your constructor and read as

this.activatedRouteSnapshot.data["title"]this will return Details

In your case if you want to pass data to another component just pass the data as a Json

this.router.navigate(['/booking/details', { caseData : this.caseData }]);

Finally you can read the data in the same way mentioned above - this.activatedRouteSnapshot.data["caseData"]

Hope this works - Happy coding !!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值