Angular 2:将组件特定数据存储在共享服务中是一种好的做法吗?

时间:2016-10-12 16:05:34

标签: angular

目前,我的组件类中有一个整数数组。 模板遍历此数组并显示其数据。

其他组件也需要此数据数组。

将此数组作为多维数组存储在服务中以便其他组件类可以使用它是一种好习惯吗? (多维因为可能存在组件的多个实例)

2 个答案:

答案 0 :(得分:1)

共享服务用于在组件之间共享数据。但是,

  

小心刷新应用程序。如果刷新页面,您将丢失使用共享服务共享的数据

因此,您必须使用其他机制来存储数据(使用共享服务)。例如。 HTML5存储空间

答案 1 :(得分:0)

通常,是的,服务用于在组件之间共享数据。 您可以考虑在共享服务中创建rxjs Subject

这样,组件可以subscribe到该主题(可观察)并自动接收最新值。

然后你可以利用Angular 2的async管道并让Angular 2自己订阅这些Observable。

有关async竖管的更多信息:http://briantroncone.com/?p=623

有关rxjs的更多信息主题:http://reactivex.io/rxjs/manual/overview.html#subject

另外,根据您对redux的了解,我建议您查看ngrx/store,它可以帮助您管理整个应用程序的状态。

https://github.com/ngrx/store