2016-11-30 75 views
0

我有一个页面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相同与模块模2在那里,我也想用同样的工厂比以前

[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(){ 
... 
}]); 

但角度没有找到模块MOD1。我错过了什么?

*双方html1.htmlhtml2.html是来自同一个电子主要应用

+0

等等。 mod1模块在哪里定义? – Phil

回答

1

模块依赖name指定渲染器,所以在Train.js

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

你只需要包含定义为mod1的文件,即具有的文件

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

您将该文件包含在html2.html以及任何其他带有提供程序的文件(如Data.js)中,并且该模块中的所有内容都将可用。

想必您已经在Data.js或其他文件中定义了模块mod1。再次定义它,就像您在Train.js中使用新的空白覆盖已注册的名称。

+0

是的,就是这样,谢谢! – Gerard