else / if in service dependency或alternative

时间:2017-01-20 13:25:28

标签: angularjs

enter image description here我有几个模块(MainSecondary),并且它们具有依赖关系 - Stuff,来自Stuff两个服务使用{{1} }}。因此,来自Service Service的{​​{1}} Stuff工作Main服务连接Factory仅存在于主服务中。但是SecondaryFactory无效,couse Main angular.module('Main', ['Stuff']); angular.module('Secondary', ['Stuff']); angular.module('Stuff', []); angular.module('Stuff').service('Service', ['Factory', function(Factory){}]) angular.module('Main').factory('Factory', function(){}) 服务的依赖关系。

Factory

如果没有另外添加依赖,我可以进行一些检查,如: FactorySecondary:null,Factory服务,在此服务中我不需要Factory,此服务有自己的{{1}} :)?

1 个答案:

答案 0 :(得分:1)

加载模块后,不再知道该服务属于哪个模块。只有一个Factory,它被定义它的最后一个模块(Main)覆盖。

为避免冲突,可以使用命名空间:

angular.module('stuff').service('service', ['stuff.factory', function(factory){...}])
angular.module('main').factory('main.factory', function(){...});

如果服务可能根本不存在(可选依赖项),则模式为

angular.module('stuff').service('service', ['$injector', function($injector){
  var factory = $injector.has('factory') ? $injector.get('factory') : null;
  ...
}])