我有一个页面 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主应用程序的渲染器
答案 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
中再次定义它会使用新的空名称覆盖已注册的名称。