假设我有两个模块(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。