Angular 在角路由器中动态传递数据
我试图将数据(对象)从一个组件发送到另一个组件,但得到的结果是空的 这是我的密码 路由模块 发送组件 这个.case数据看起来像这样Angular 在角路由器中动态传递数据,angular,typescript,Angular,Typescript,我试图将数据(对象)从一个组件发送到另一个组件,但得到的结果是空的 这是我的密码 路由模块 发送组件 这个.case数据看起来像这样 { "getAllInfo": { "ticket": { "internalNum": "12345", "comp": "11" }, "caseInfo": { "masVolgnommer": "1", "masMaand": "1", "masJaar": "2010
{
"getAllInfo": {
"ticket": {
"internalNum": "12345",
"comp": "11"
},
"caseInfo": {
"masVolgnommer": "1",
"masMaand": "1",
"masJaar": "2010"
}
}
}
接收组件
在subscribe方法中设置caseData
this.route
.data
.subscribe(v => {
this.caseData = v;
console.log(this.caseData)
});
在subscribe方法中设置caseData
this.route
.data
.subscribe(v => {
this.caseData = v;
console.log(this.caseData)
});
路由中不需要数据属性-如果不添加数据,您可以将数据绑定为json并读取它
{path:'booking/details',component:DetailsComponent}
在路由时传递数据很好-而路由声明中的数据属性用于在每次导航路由时传递数据
每次尝试导航booking/details
时,您都会获得数据{title:“details”,dataTransfer:“}
要读取此数据,您可以在构造函数中插入ActivatedRouteSnapshot
,并读取为
this.activatedRouteSnapshot.data[“title”]
这将返回详细信息
在您的情况下,如果您想将数据传递给另一个组件,只需将数据作为Json传递即可
this.router.navigate(['/booking/details',{caseData:this.caseData}])代码>
最后,您可以用上面提到的相同方式读取数据-this.activatedRouteSnapshot.data[“caseData”]
希望这个工作-快乐的编码 路由中不需要数据属性-如果不添加数据,您可以将数据绑定为json并读取它{path:'booking/details',component:DetailsComponent}
在路由时传递数据很好-而路由声明中的数据属性用于每次导航路由时传递数据
每次尝试导航booking/details
时,您都会获得数据{title:“details”,dataTransfer:“}
要读取此数据,您可以在构造函数中插入ActivatedRouteSnapshot
,并读取为
this.activatedRouteSnapshot.data[“title”]
这将返回详细信息
在您的情况下,如果您想将数据传递给另一个组件,只需将数据作为Json传递即可
this.router.navigate(['/booking/details',{caseData:this.caseData}])代码>
最后,您可以用上面提到的相同方式读取数据-this.activatedRouteSnapshot.data[“caseData”]
希望这个工作-快乐的编码 这是响应{title:“Details”,dataTransfer:}
数据未插入dataTransfer参数这是响应{title:“Details”,dataTransfer:}
数据未插入dataTransfer参数该数组中的值用于构建URL,不是数据
属性。听起来您最好创建一个共享服务。是的,您是正确的,我只是将数据从一个组件传递到另一个组件,因此通过url进行传递是不正确的。该数组中的值用于构建url,而不是数据
属性。听起来您最好创建一个共享服务。是的,您是正确的,我只是将数据从一个组件传递到另一个组件,因此通过url进行传递是不正确的
this.caseData = this.route
.data
.subscribe(v => console.log(v.dataTransfer));
this.route
.data
.subscribe(v => {
this.caseData = v;
console.log(this.caseData)
});