Values

当我们需要一组数据,比如:当前用户登录信息或APP的一些配置,而这组数据又希望在 controller/service 使用它,那么它就是做这个事的。

value 支持string、number、date-time、array、object、function,比如:

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

app.value('user', {
    name: 'asdf',
    role: 'admin'
});

而当我们需要使用时,就像这样:

app.controller('MyCtrl', ['$scope', 'user', function($scope, user) {
    $scope.name = user.name;
}]);

Angular 会自动将 user 注入进来,同时我们可以随时修改数据,比如:

user.role = 'normal';

这样子其他再注入 user 时role的值变成normal。

Constants

valueconstant 之间的差异只有两点:

  1. 可注入类型,对于前者只允许在 servicecontroller,而后者还包括模块配置函数。
  2. constant 是常量,无法被修改。