保存数据的最佳方法是跨控制器角度的工厂变量或RootScope变量

时间:2016-06-17 05:20:31

标签: angularjs angularjs-factory angularjs-rootscope

我有一个角度应用程序,在不同的变量中有5000个数组值。在整个项目的5个控制器中,我需要3个控制器的相同值。现在我正在使用工厂来保存这些数据。 $ rootScope是一种更有效的方法,或者当前的方法更好。

2 个答案:

答案 0 :(得分:1)

$ rootScope是所有范围的父级,因此在那里公开的值将在所有模板和控制器中可见。使用$ rootScope非常简单,因为您只需将其注入任何控制器并更改此范围内的值即可。它可能很方便,但却存在全局变量的所有问题。

服务是可以注入任何控制器的单例,并在控制器的范围内公开它们的值。作为单身人士的服务仍然是全球性的。但是你可以更好地控制那些被使用和暴露的地方。

查看问题 - Global variables in AngularJS

答案 1 :(得分:0)

$ rootscope根本不是一个好选择。最好使用工厂进行数据共享。