$ rootScope vs最顶级的ng-controller

时间:2013-06-07 18:31:36

标签: angularjs

我想知道这个:

我们应该在$rootScope中分配常用*变量,还是应该在最顶层的父ng-controller中声明它们?

  • 通常用于“许多控制器使用”

谢谢

1 个答案:

答案 0 :(得分:3)

这个问题与Global variables in AngularJS

非常相似

一般来说,您应该尽量避免将事物放在$rootScope上,因为AngularJS等同于全局window范围。由于$rootScope可以在任何地方注入(服务,指令等),因此在根范围内声明的变量是真正全局的。

如果你有一个最顶级的应用程序级别的控制器并且存在变量,那么我会赞成这个,而不是污染$rootScope。作为一般经验法则,我们应该使用限制性最强/较低级别的范围。

不要忘记服务可能就是答案。