3

アプリケーション全体ではなく、それを構成しているモジュール全体でのみ、プロバイダーの構成を一意にする方法があるかどうかを知りたいです。

たとえば、プロバイダーの定義を含むモジュール「コア」があります。次に、プロバイダーを使用するモジュール「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';
});

http://plnkr.co/edit/BI5nhmcdgzQZfZo56Koh?p=preview

4

1 に答える 1