首页 > 解决方案 > Angular将一组数据从一个模块传递到另一个模块

问题描述

我有一个网格,其中包含用户可以选择的信息列表。一旦用户选择了某些行,这些行应该作为摘要传递到不同的页面,也可以用于更多操作。

例如,有从后端提取的交易列表。用户可以从网格中选择某些交易。然后将这些选定的交易转移到另一个页面作为摘要进行成本管理。

交易清单页面 -> 成本管理页面

如何将这些选定列表从第一个模块传递到第二个模块?

角度版本:11

标签: angulartypescript

解决方案


这取决于您的成本管理页面是否应在页面刷新时保留数据。

服务

如果您不希望数据在页面刷新时被持久化,您可以沿着根提供的服务的单一共享实例的路线走。此服务实例将通过角度注入您可能使用的任何组件中。

导航附加功能

就个人而言,如果可能的话,我希望我的应用程序始终是无状态的。因此,将数据放入服务中会在页面刷新时丢失。

通过将数据放入QueryParams,您可以随时维护应用程序的状态,例如刷新页面、共享链接、添加到收藏夹等。

如果您想要一种更集中的方式在路线之间传递数据,您可以使用NavigationExtras。这不需要您创建单例服务、订阅等。这是在 Angular 7 中引入的,主要用于您提到的目的。


推荐阅读