提供商
Provider
在配置階段和執行階段均可用。
Provider 配方在語法上定義為實現
$get
方法的自定義型別。只有在要為應用程式範圍的配置公開 API 時才應使用 Provider 配方,該 API 必須在應用程式啟動之前進行。這通常只適用於可重用服務,其行為可能需要在應用程式之間略有不同。
angular.module('app',[])
.provider('endpointProvider', function() {
var uri = 'n/a';
this.set = function(value) {
uri = value;
};
this.$get = function() {
return {
get: function() {
return uri;
}
};
};
})
.config(function(endpointProviderProvider) {
endpointProviderProvider.set('http://some.rest.endpoint');
})
.controller('MainCtrl', function(endpointProvider) {
var vm = this;
vm.endpoint = endpointProvider.get();
});
<body ng-controller="MainCtrl as vm">
<div>endpoint = {{::vm.endpoint }}</div>
</body>
endpoint = http://some.rest.endpoint
沒有 config
階段的結果將是
endpoint = n / a