Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在角路由器中动态传递数据_Angular_Typescript - Fatal编程技术网

Angular 在角路由器中动态传递数据

Angular 在角路由器中动态传递数据,angular,typescript,Angular,Typescript,我试图将数据(对象)从一个组件发送到另一个组件,但得到的结果是空的 这是我的密码 路由模块 发送组件 这个.case数据看起来像这样 { "getAllInfo": { "ticket": { "internalNum": "12345", "comp": "11" }, "caseInfo": { "masVolgnommer": "1", "masMaand": "1", "masJaar": "2010

我试图将数据(对象)从一个组件发送到另一个组件,但得到的结果是空的

这是我的密码

路由模块

发送组件

这个.case数据看起来像这样

{
  "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) 
});