gpt4 book ai didi

javascript - Angularjs 模块依赖循环

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:01 26 4
gpt4 key购买 nike

我很好奇,但仍然无法解释这种情况下的依赖循环(通过)。

angular.module('mainApp', ['addon.dashboard']).factory('Test', function(){
return {
hello: 'moto'
};
});
angular.module('addon.dashboard', ['mainApp']).controller('Demo', function(Test){
console.log(Test.hello);
});

这是我的应用程序中的示例代码。 mainApp 模块需要注入(inject) addon.dashboard 模块。否则,addon.dashboard 模块需要注入(inject) mainApp 模块。我们可以看到这里可能会循环。但它在我的应用程序中有效。 Controller Demo 实际上将 moto 输出到控制台。

angular 如何处理这样的循环注入(inject)?

最佳答案

您可能想查看 Angular 代码(尤其是 loadModules 方法)。基本上有一个包含所有已加载模块的 HashMap。如果它不在 HashMap 中,它会将它放入 HashMap 中,然后继续初始化模块的其余部分。如果它已经在集合中,它将立即返回。

因此,在您的情况下,假设首先加载 mainApp。它将它放入 loadedModules 并去寻找它的依赖项。当它找到 addon.dashboard 时,发现 mainApp 是一个依赖,但它已经存在于 loadedModules 中,所以它立即返回。

在angular.js的“loadModules”方法中断点会好很多

关于javascript - Angularjs 模块依赖循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com