angular - 通过角度路由将数据发送到另一个组件
问题描述
我正在开发一个角度应用程序,并意识到在最新版本的角度中,数据可以通过路由将一个组件传输到另一个组件。我浏览了一些博客,但我不太清楚如何做到这一点。
我的代码
组件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
。找不到地图。有人可以帮我吗?
谢谢
解决方案
对于传递数据,您可以这样做
this.router.navigate(["/vav", { 'data': data }]);
用于在其他页面上接收
constructor(public router: Router, public route: ActivatedRoute){}
route.params.subscribe(params => {
let data = params['data']
});
推荐阅读
- sql - 如何在特定值更改 SQL/Hive 后播种/插入特定值
- javascript - 当某些节点为空时,二叉树搜索不返回匹配值
- java - 使用改造和 MPAndroidChart 动态检索 MySQL 数据并在 android 上绘图
- python - 将txt文件读入字典
- ios - SwiftUI动画RoundedRectangle的宽度从0到宽度onAppear?
- python - 如何将时间字符串与 python re 模块匹配?
- swift - 如何在 alamofire 模型中解析字典?
- r - 如何控制geom_line中的线条粗细
- dns - 在 godaddy 上使用 aws 负载均衡器 CNAME
- jenkins - Office 365 连接器未显示在 Jenkins 中