我想知道是否有辦法使提供程序的配置在整個應用程序中都是唯一的,但僅限於配置它的模塊。Angularjs提供程序在不同模塊中具有不同的配置
例如,我有一個模塊「核心」,其中包含提供者的定義。然後我有模塊「module1」和「module2」,它們使用提供程序,但必須以特定方式爲特定模塊進行配置。
發生在我身上的事情是,在最後定義的模塊中完成的配置將覆蓋在應用程序中使用提供程序的所有其他模塊中完成的配置。
我做了這個簡單的plunker舉例說明本:
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';
});
http://plnkr.co/edit/BI5nhmcdgzQZfZo56Koh?p=preview