来自不同模块的具有相同名称的服务/工厂的依赖性

时间:2014-03-18 03:46:14

标签: angularjs dependency-injection circular-dependency angular-services

我正在尝试在模块中创建服务,该模块依赖于另一个模块中的另一个服务,但服务具有相同的名称。请考虑以下示例:

angular.module('module1',[]).factory('log', [function () {
    return { show: false, msg: "" };
}]);

angular.module('module2', ['module1']).factory('log', ['log', function (log) {
    return { show: false, msg: log.msg + "" };
}]);

angular.module('myapp', ['module2']);

当我实现上面的代码时得到:     错误:[$ injector:cdep]找到循环依赖项:log

我理解服务是角度[1]中的单例,依赖注入遵循最后一个胜出约[2]。在我看来,在'module2'中,注入的'log'本身就是循环依赖。如何从'module1'注入'log'?

1 个答案:

答案 0 :(得分:0)

旧问题,但我使用decorators解决了它。