角度,如何组合模块

时间:2016-11-30 01:13:28

标签: angularjs electron angular-module angular-factory

我有一个页面 html1.html ,模块 mod1

'======================================
'TreeView Location Change with Scroll

Private Sub Form2_Scroll(sender As Object, e As ScrollEventArgs) Handles MyBase.Scroll
    'Gets the vertical scroll values as an Integer
    Dim verticalscroll As Integer = AutoScrollPosition.Y * -1
    'Moves the Treeview to new location
    EstimTree.Location = New Point(5, verticalscroll)

    'If statement to contain the treeview within my form       
    If EstimTree.Location.Y <= 130 Then
        EstimTree.Location = New Point(5, 130)
    End If
End Sub

Data.js mod1 的工厂

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

然后我的第二页 html2.html 与模块 mod2 相同,而且我也想使用与以前相同的工厂

[Data.js]
angular.module('mod1').factory('Data',[function(){
...
}]);

Train.js mod2 的工厂,然后结合 mod1 mod2 我这样做以下

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

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

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

1 个答案:

答案 0 :(得分:1)

模块依赖项由名称指定,因此在Train.js

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

您只需要包含定义mod1的文件,即包含

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

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

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