在angular 8中,在兄弟组件之间传递数据的最佳方式是什么?

在angular 8中,在兄弟组件之间传递数据的最佳方式是什么?,angular,angular5,angular8,Angular,Angular5,Angular8,在一个角度项目中,我必须组件“Component1”和“Component2”,这两个组件没有关系,它们是延迟加载的组件。 现在我的要求是我需要调用“Component1”中的HTTP请求,获取响应数据并导航到“Component2”,这些响应数据用于调用“Component2”中的HTTP请求post请求,我们如何将这些数据从“Component1”传递到“Component2”。 注意:如果我在“Component2”数据(来自“component1”)中刷新浏览器,我还希望该选项不会丢失。

在一个角度项目中,我必须组件“Component1”和“Component2”,这两个组件没有关系,它们是延迟加载的组件。 现在我的要求是我需要调用“Component1”中的HTTP请求,获取响应数据并导航到“Component2”,这些响应数据用于调用“Component2”中的HTTP请求post请求,我们如何将这些数据从“Component1”传递到“Component2”。 注意:如果我在“Component2”数据(来自“component1”)中刷新浏览器,我还希望该选项不会丢失。 将数据表单“Component1”传递给“Component2”的最佳方式是什么? 请解决我的问题。。 当做
Kamal Sharma

您可以在路由中作为对象传递数据

 this._router.navigate(['SecondComponent', {p1: this.property1, p2: property2 }]);
但是如果刷新页面,数据将丢失。加载后保存数据的唯一方法是将其存储在本地存储器中

localStorage.setItem("variableName",data);
并且简单地使用

localStorage.getItem('variableName');

要获取数据

将来自组件1的http调用的响应存储在服务中,请导航到组件2,并使用服务中的信息在组件2中执行http调用。为了在刷新时不丢失数据,您可以在每次更新服务中的数据时将数据存储在本地存储器中。谢谢您的回复。我们是否应该使用sessionStorage而不是localStorage,因为关闭选项卡后不需要清除sessionStorage中的数据?