首页 > 解决方案 > 通过角度路由将数据发送到另一个组件

问题描述

我正在开发一个角度应用程序,并意识到在最新版本的角度中,数据可以通过路由将一个组件传输到另一个组件。我浏览了一些博客,但我不太清楚如何做到这一点。

我的代码

组件1.ts

sendMessageto2() {
    par = this.param
    this.router.navigate(['/vav'],{state : {data : {par}}})
    console.log(this.param)
  }

我想将一个变量传递this.param给component2

组件1.html

<area shape="rect" coords="818,232,917,262" (click)="sendMessageto2()">

组件2.ts

ngOnInit() {
    this.state$ = this.activatedRoute.paramMap
    .pipe(map(() => window.history.state))  
  }

我不确定如何在 component2 中获取此数据。我收到错误map。找不到地图。有人可以帮我吗?

谢谢

标签: angularroutingangular7-router

解决方案


对于传递数据,您可以这样做

this.router.navigate(["/vav", { 'data': data }]);

用于在其他页面上接收

constructor(public router: Router, public route: ActivatedRoute){}
route.params.subscribe(params => {
        let data = params['data']
    });

推荐阅读