为什么角度模块可以使用其他模块的依赖?

时间:2016-04-21 06:58:18

标签: angularjs

我有一个名为app的主角度模块。它依赖于'app.items'模块,该模块也依赖于ngResource。因此,它可以使用使用$ resource的服务在其服务中调用一些后端路由。

此外,我还有另一个名为'app.categories'的模块,主模块也将其用作依赖项。该模块有一个类别服务,它使用$ resource向后端发送请求。但是当我从'app.categories'模块中删除'ngResource'依赖时,它仍然有效。

为什么会这样?这不是错误的行为吗?

2 个答案:

答案 0 :(得分:0)

当你说出错误的行为时,你的基础是什么?如果AngularJS团队没有这样做,那就错了。

我同意您可以说框架或语言最好拒绝访问由引用模块引用的模块中定义的功能,因为删除模块C中的引用会破坏模块A.

然而,无论出于何种原因,AngularJS都不会这样做。这可以在the source中找到,它以递归方式查找所有模块和引用的模块,并为每个模块运行提供程序(控制器,服务等)和module.config块,最后运行所有module.run块。

答案 1 :(得分:-1)

我认为,您可以从this链接

获得答案