アプリケーション全体ではなく、それを構成しているモジュール全体でのみ、プロバイダーの構成を一意にする方法があるかどうかを知りたいです。
たとえば、プロバイダーの定義を含むモジュール「コア」があります。次に、プロバイダーを使用するモジュール「module1」と「module2」がありますが、特定のモジュールに対して特定の方法で構成する必要があります。
私に起こっていることは、最後に定義されたモジュールで行われた構成が、アプリケーションでプロバイダーを使用する他のすべてのモジュールで行われた構成をオーバーライドすることです。
これを例証するために、この単純なプランカーを作成しました。
var app = angular.module('app', ['module1','module2']);
angular.module('core',[])
.provider('movie', function () {
var version;
return {
setVersion: function (value) {
version = value;
},
$get: function () {
return {
title: 'The Matrix' + ' ' + version
}
}
}
});
angular.module('module1',['core'])
.config(function (movieProvider) {
movieProvider.setVersion('Reloaded');
})
.controller('ctrl1', function ($scope,movie) {
$scope.title = movie.title;
$scope.module = 'module1';
});
angular.module('module2',['core'])
.config(function (movieProvider) {
movieProvider.setVersion('Revolutions');
})
.controller('ctrl2', function ($scope,movie) {
$scope.title = movie.title;
$scope.module = 'module2';
});