如何将应用根模板组件与应用中的其他组件同步

How to sync app root template component with other components in app

我正在将产品添加到愿望清单并将该产品存储在本地存储中 一个组件 & 在我们的根组件中,我显示了愿望清单的总数 产品。问题是当我在愿望清单中添加新产品时 将存储在本地存储中,并且不会更新总计数 我的离子应用程序根组件中的愿望清单产品。

Angular 服务

您需要做的是生成一个存储收藏夹数据的服务,然后将其指向它。 Josh 对此有很好的介绍:

基本上 high-level 概述是您生成一个服务,该服务可以注入到您想要使用它的每个组件/页面,然后它可以为它们提供服务。

例如,您可能会制作一个登录服务,以便您可以查明用户是否从应用程序的任何地方登录,或​​者您可能需要一个分析服务,或者它可能是更具体的东西,比如写一个重量可以应用于许多页面的转换 class。

自定义事件

另一种替代方法是让收藏夹按钮发出自定义事件,菜单项可以侦听该事件以更新其自己存储的收藏夹值。

这篇文章介绍的很好:

high-level 概述是您从一个页面发布活动:

this.events1.publish('my-message', ' Hello from page1!');

然后你在另一个 page/component:

上处理那个事件
this.events2.subscribe('my-message', (data) =>{
  console.log(data); //  Hello from page1!
});