モジュールがAngularでどのようにロードされるかについて少し混乱しています。たとえば、次のコードを見てください。
var app = angular.module("app", [ "app.widgets", "app.core"]);
var core = angular.module("app.core", []);
core.factory("foo", function(){
return {
ping: function(){
return "pong";
}
}
});
var widgets = angular.module("app.widgets", []);
widgets.controller("WidgetController", function($scope, foo){
$scope.items = [1,2,3,foo.ping()];
});
<body ng-app="app">
<ul ng-controller="WidgetController">
<li ng-repeat="item in items">
{{item}}
</li>
</ul>
</body>
依存関係として宣言されていないにもかかわらず、「app.widgets」モジュールが「app.core」モジュールにどのようにアクセスできるかについて混乱しています。
「app.widgets」と「app.core」の両方が 3 番目のモジュールで宣言されているため、依存関係が検出されているようです。これは非常に便利です。しかし、それは私にはあまり直感的ではないようです。
したがって、私の質問は、「2 つのモジュールが 3 番目のモジュールで宣言されている場合、互いのことを「認識」するか?」ということだと思います。そして、それは文書化された動作ですか?