Угловой, как комбинировать модули
У меня есть страница 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(){
...
}]);
Но угловой не находит модуль mod1. Что мне не хватает?
* Html1.html и html2.html являются средствами визуализации из одного и того же основного приложения Electron.
1 ответ
Зависимости модуля указываются по имени, поэтому в Train.js
angular.module('mod2', ['mod1'])
Вам просто нужно включить файл, который определяет mod1
файл, который имеет
angular.module('mod1', ['maybe', 'some', 'deps', 'here'])
Вы включаете этот файл в html2.html
а также любые другие файлы с провайдерами (например, Data.js
) и все в этом модуле будет доступно.
Предположительно, вы уже определили модуль mod1
в Data.js
или другой файл. Определяя это снова, как вы были в Train.js
заменяет зарегистрированное имя новым пустым.