2016-01-22 183 views
0

AngularJS中定义全局变量的最佳方法是什么?AngularJs定义全局变量

我知道有很多解决方案的这个话题,最黎民:

  • 使用的服务;
  • 使用$ rootScope;

我想要一个不同的上下文的答案。例如:

  • 用于多个服务中的多个请求的公共url:my/folder/class.php;
  • 主要模块的名称:myApp;
  • 为某个错误黎民警报消息:将使用过的所有应用程序,在不同的情况下,将不会改变Failed to connect to the server, try again.

的事情。


环顾互联网只见2种以外的其他可能性,然后$rootScopeservices

  • 使用AngularJS constants;
  • 使用JSvar以外主ng模块;

所以我的问题是:对于AngularJs场景,什么是最好的选择?

我们真的在这种情况下使用constants吗?有没有其他供应商为此目的。此外,我想知道最新的性能影响,如果有的话。

+0

除非这些值应该改变,我相信'常量'是首选的方式。 –

+0

@SeanLarkin你的意思是,通过比较'恒定'与'服务'? – celsomtrindade

+0

我误解了我的答案,因为我误解了这个问题。两者都必须注入才能使用。我想你也可以使用'value'作为选项。使用'.constant'的好处是它可以注入到配置中,并且不能被装饰器覆盖。 –

回答

0

对于常量使用角常量。如果您的值可能需要配置或计算,请使用Angular服务并公开getter函数。对于字符串,您可能需要考虑本地化,因此请使用Angular本地化库中的一个来存储这些库(我使用Angular-localize)。

希望这是有帮助的。