Angular,如何组合模块

问题描述 投票:0回答:1

我有一个页面 html1.html ,其中包含模块 mod1

[html1.html]
<html lang="en" ng-app="mod1">
...
<script src="scripts/services/Data.js"></script>

并且 Data.jsmod1

的工厂
[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.jsmod2的工厂,然后结合mod1mod2我执行以下操作

[Train.js]
var mod2 = angular.module('mod2',[angular.module('mod1')]);
mod2.factory('Train',[function(){
...
}]);

但是 Angular 找不到模块 mod1。我错过了什么?

*html1.htmlhtml2.html都是来自同一个Electron主应用程序的渲染器

angularjs electron angularjs-factory angularjs-module
1个回答
1
投票

模块依赖项是通过名称指定的,因此在

Train.js

angular.module('mod2', ['mod1'])

您只需要包含定义

mod1
的文件,即具有

的文件
angular.module('mod1', ['maybe', 'some', 'deps', 'here'])

您将该文件以及提供程序的任何其他文件(如

html2.html
)包含在
Data.js
中,并且该模块中的所有内容都将可用。

大概您已经在

mod1
或其他文件中定义了模块
Data.js
。像在
Train.js
中一样再次定义它,会用一个新的空名称覆盖注册名称。

© www.soinside.com 2019 - 2024. All rights reserved.