AngularJS中常量和值之间的差异

时间:2015-10-05 13:32:58

标签: angularjs

常数和价值之间有什么区别?我们能够改变这两个值。

var app = angular.module(‘myApp’,[]);
app.constant(‘appName’,‘My App’);
app.value(‘applicationName’,‘Sample’);

3 个答案:

答案 0 :(得分:2)

1)常数值不能改变 2)价值的数据可以改变

1)常数可以注入任何地方 2)值可以注入控制器,服务,工厂,但不能注入配置。

样品

var app = angular.module('app', []);

app.value('greeting', 'Hello');

app.config(function(greeting){
    var radius = 4;
    //PI can be injected here in the config block
    var perimeter = 2 * PI * radius;
});

以下代码会出错,因为尝试将值注入配置。

答案 1 :(得分:1)

常量可以放在任何地方,而值不能添加到任何地方。此外,常量不能被装饰器拦截,而值可以被装饰器拦截。

另请参阅:Value and Constants

  

值和常量服务之间的区别在于   前者只能在服务中注入(因此可以使用)或者   控制器,而后者也可以注入模块   配置功能..(我将讨论模块配置   在将来的职位中发挥作用)。

答案 2 :(得分:0)

好的解释在这里:

  

常量非常适合永不改变的值。如果您需要访问配置函数调用中的值以在应用程序首次启动时配置路由或其他任何内容,则应使用常量。

     

非常适合可以改变数据。如上所示,用户数据或您只想在不创建混乱全局变量的情况下保持对全局存储的更改值的引用的任何其他内容。

完整文章:Constants & Values: Global Variables In AngularJS The Right Way