В настоящее время у нас есть настройка для наших приложений angularjs, где есть файл под названием "app.js", который содержит
var app = angular.module('VolumeOutputOptions', [
'someDirectiveModule',
'someServiceModule'
]);
Помимо кода, разделяемого между приложениями типа someDirectiveModule, почти каждый класс зависит от этой глобальной переменной. Это иногда приводило к проблемам, в которых добавлена новая зависимость, но оказывается, что "приложение" используется в контекстах, где эта зависимость не была включена. Кроме того, глобальные переменные, bleugh.
Есть ли лучший способ поделиться одним модулем между всеми директивами и контроллерами вашего приложения? Например,
angular.module('VolumeOutputOptions').directive(...);
angular.module('VolumeOutputOptions').controller(...);
быть двумя отдельными модулями с одним и тем же именем или угловым обнаружением и слиянием их?
Если вы используете
angular.module('VolumeOutputOptions').directive(...);
angular.module('VolumeOutputOptions').controller(...);
Чтобы использовать это, должно быть что-то вроде angular.module('VolumeOutputOptions', [])
чтобы создать модуль перед его использованием. то оба они назначаются тому же модулю VolumeOutputOptions
.
если вы определяете такой модуль, как angular.module('moduleName', [])
со вторым параметром массива для зависимостей, то только угловой создать новый модуль. Если параметр массива не передается, то угловое будет ссылаться на предыдущий модуль, который был объявлен с тем же именем.