如何通过导航路径将对象从一个组件传递到另一个组件?

时间:2017-08-22 13:34:59

标签: angular

我无法找到如何在Angular中将复杂对象从一个组件传递到另一个组件。

我的应用程序中有两个不同模块的组件,我想从一个组件导航到另一个组件,将一个复杂的对象传递给第二个组件。

第一部分:

buttonSubmit() {
    this._router.navigate(['/app/sales/history',  { product: this.product}]);
}

所以在组件二中我想采用product对象:

 this._route.params.subscribe(v => console.log(v));

我尝试使用ActivatedRoute但它不起作用,在Angular文档中他们有父/子通信的例子,但事实并非如此。

1 个答案:

答案 0 :(得分:0)

提供服务并将数据保存到服务中。 在第一部分:

ngOnDestroy() {
  this.ProductService.product = this.product;
}

关于第二部分

ngOnOnit() {
  this.product = this.ProductService.product;
}

在组件一父模块some.module.ts中,将ProductService添加到提供者:

@NgModule({
providers: [ProductService]
})
组件中的

两个父模块other.module.ts将ProductService添加到导入:

 @NgModule({
    imports: [ProductService]
    })