2013-10-26 103 views
2

向角度服務/工廠提供配置的最佳方式是什麼?例如一個推動者API密鑰?我想編寫一個可在多個推送者賬戶中重複使用的模塊。角度服務/出廠配置數據

在此先感謝

回答

1

我通常只是提供一個恆定的注射:Angular Documentation

下面是一個代碼示例:

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

而且a JSFiddle(雖然這個注射到一個控制器用於演示,它對於服務同樣適用)。

常量超過更大型服務的一大好處是,您可以將它們注入config塊。

4

只需創建另一個服務並將其作爲依賴項傳遞。

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