我有一个页面 html1.html ,其中包含模块 mod1
[html1.html]
<html lang="en" ng-app="mod1">
...
<script src="scripts/services/Data.js"></script>
并且 Data.js 是 mod1
的工厂[Data.js]
angular.module('mod1').factory('Data',[function(){
...
}]);
然后我有第二个页面 html2.html 与模块 mod2 相同,并且我也想使用与以前相同的工厂
[html2.html]
<html lang="en" ng-app="mod2">
...
<script src="scripts/services/Data.js"></script>
<script src="scripts/services/Train.js"></script>
Train.js是mod2的工厂,然后结合mod1和mod2我执行以下操作
[Train.js]
var mod2 = angular.module('mod2',[angular.module('mod1')]);
mod2.factory('Train',[function(){
...
}]);
但是 Angular 找不到模块 mod1。我错过了什么?
*html1.html和html2.html都是来自同一个Electron主应用程序的渲染器
模块依赖项是通过名称指定的,因此在
Train.js
angular.module('mod2', ['mod1'])
您只需要包含定义
mod1
的文件,即具有的文件
angular.module('mod1', ['maybe', 'some', 'deps', 'here'])
您将该文件以及提供程序的任何其他文件(如
html2.html
)包含在 Data.js
中,并且该模块中的所有内容都将可用。
大概您已经在
mod1
或其他文件中定义了模块 Data.js
。像在 Train.js
中一样再次定义它,会用一个新的空名称覆盖注册名称。