我应该上下广播AngularJS还是应该使用$ rootScope?

时间:2018-10-07 10:24:58

标签: angularjs scope angularjs-scope

让我们说我有指令(组件)。

我想在它们之间共享数据。

类似于从服务器接收错误,然后将此错误数据保存在$scope中并打印在每个组件中。

但是,如果数据来自组件A,则打印的数据在组件B上将保留为空-因为它们之间不会共享数据。

为了使其共享,我首先需要$emit来自组件A的数据和$on(*接收)组件B上的数据。

这些都是在AngularJS中广播的。

我应该一直使用这种机制来解决问题,这种机制有缺点-就像使用包含“变量名”(具有动态名称的函数,基于大小写的函数)的共享组件时一样。

OR

我应该使用简单的$ rootScope全局大变量同时存储所有“微小”范围的所有数据吗?

使用$ rootScope可以像“缓存”一样进行操作-例如:$rootScope.list = response.data.list(某些从远程服务器响应的列表)可以告诉我,由于已被请求,因此我不应该再次请求该列表。

我还可以添加时间戳记,以便我可以在30秒后重新询问该列表,即使该请求已被请求。

你怎么看?

我应该使用broadcasts,还是应该避免使用$rootScope共享库?

0 个答案:

没有答案
相关问题