我以这种方式传递数据
console.log(this.regForm.value); //there is data
this._router.navigate(["/tsafety/checklist-checks"], this.regForm.value);
在路由checklist-checks
的组件中尝试使用
constructor(private route:ActivatedRoute)
{
this.route
.params
.subscribe(params => {
this.truckdetails = params; //this is never set
console.log(params);// this is empty
});
}
每当我尝试访问this.truckdetails
时,它始终为空。
我还需要添加什么来获取传递的数据?
答案 0 :(得分:1)
您应该尝试使用this.route.snapshot.data['yourdata']
答案 1 :(得分:1)
导航不正确。可选参数(如您传递的表单数据)应位于方括号内。 navigate()函数的第二个参数获取有关导航的额外信息。请参阅:https://angular.io/api/router/Router#navigate
您的代码应为
this._router.navigate(["/tsafety/checklist-checks", this.regForm.value]);
答案 2 :(得分:0)
我在项目中使用了switchMap。
this.route.params
.switchMap((params: Params) => {
console.log(params);
});