假设我有两个模块(finance2,finance3),每个模块都定义了一个具有相同名称的服务(currencyConverter)。

如果我告诉我的主要模块它仅依赖于finance2,则可以像这样注入服务:

angular.module('invoice2', ['finance2'])
  .controller('InvoiceController', ['currencyConverter', function(currencyConverter) {


但是,如果我希望我的invoice2依赖于两个模块,将注入哪个currencyConverter?来自财务2的一个还是来自财务3的一个?我可以控制自己的模块,但是我担心的是,如果您依赖其他人使用相同名称定义工厂的模块。角度如何处理呢?

angular.module('invoice2', ['finance2','finance3'])
  .controller('InvoiceController', ['currencyConverter', function(currencyConverter) {

最佳答案

最后一个加载/处理的将获胜。

如果您的脚本是:


Finance2(使用currencyConverter)
Finance3(使用currencyConverter)


然后,当currencyConverter的依赖关系解决后,您将获得Finance3的currencyConverter。

如果您的脚本是:


Finance3(使用currencyConverter)
Finance2(使用currencyConverter)


然后,当currencyConverter的依赖关系解决后,您将获得Finance2的currencyConverter。

10-06 06:33