javascript - 使用路由器调用另一个组件上的方法
问题描述
我在表格上有一个按钮,当我单击它时,我想转到另一个组件并打开一个特定元素,我的意思是,导航到另一个组件并调用一个方法 (GetReport)。
我如何使用路由器或类似的东西来实现这一点?
我在 TypeScript 中使用 Angular 6
解决方案
实际上,这通常不是通过从路由器调用另一个组件上的方法来完成的,而是从触发导航的组件中提供要使用的信息,并通过注入路由器在登陆组件上检索它。
使用路由器的两种可能的解决方案是:
- 包括您希望作为路线的一部分可用的信息,并按照此处
ActivatedRoute
所述在着陆组件上检索它。 - 在导航到其他路线时按照此处
query parameters
所述使用以使信息可用,并在着陆组件上使用它来检索它ActivatedRoute
另一种方法是在应用程序上集中存储数据并订阅需要数据的组件的更改。实现这一目标的两种可能方法是:
- 创建一个具有 Rxjs 主题和设置下一个值的方法的服务,并订阅登陆组件上主题的更改
- 使用状态管理解决方案(如 NGRX 或 NGXS),调度一个操作来设置所选元素并从登陆组件内部的存储中选择信息
根据您提供的信息,您的用例的最佳方法似乎是 1) 或 2),具体取决于信息应该是路由的一部分还是查询参数。
推荐阅读
- android - 如何在android中从右到左我的菜单项
- javascript - axios返回promise对象的问题
- eigen3 - Caanot fingd the eigen 3.3.9 源码下载指针
- ios - 数据 contentsOf 产生 nil,但 URL 有效
- wso2 - WSo2 - Enterprise Integrator 6.4.0 - SNMP 监听连接器
- powershell - 有没有办法使用 oauth 令牌连接到 New-CsOnlineSession?
- javascript - 来自 API 的响应返回数据,状态未定义 - React.JS
- c# - ReUp:在 C# 中的表单之间传递多张图片
- csv - 如何在 swagger/yaml 文档上正确记录文本/csv 响应?
- django - 如何使用脚本文件填充 django 数据库?