角度服务/工厂配置数据

时间:2013-10-26 21:36:00

标签: javascript angularjs

为角度服务/工厂提供配置的最佳方法是什么。例如推送api键?我想编写一个可以在多个推送帐户中重复使用的模块。

提前致谢

2 个答案:

答案 0 :(得分:4)

只需创建另一项服务并将其作为依赖项传递。

angular.module('myApp', [])
.factory('ProviderConfigService', function() {
  return {
    apiKey: '...'
  }
})
.factory('ProviderService', function(ProviderConfigService) {
  return {
    doSomethingWithApi: function() {
     var apiKey = ProviderConfigService.apiKey
   }
  }
});

答案 1 :(得分:1)

我通常只提供注射常数:Angular Documentation

以下是代码示例:

angular
    .module('myApp', [])
    .constant('apiKey', 'abc12345')
    .controller('myController', function($scope, apiKey) {
        $scope.key = apiKey;
    });

a JSFiddle(尽管这会注入一个控制器进行演示,但它对服务的效果也很好。)

常量而不是更庞大的服务的一大好处是你可以将它们注入config块。