Совместное использование модулей в AngularJs

0

В настоящее время у нас есть настройка для наших приложений angularjs, где есть файл под названием "app.js", который содержит

var app = angular.module('VolumeOutputOptions', [
    'someDirectiveModule',
    'someServiceModule'
]);

Помимо кода, разделяемого между приложениями типа someDirectiveModule, почти каждый класс зависит от этой глобальной переменной. Это иногда приводило к проблемам, в которых добавлена новая зависимость, но оказывается, что "приложение" используется в контекстах, где эта зависимость не была включена. Кроме того, глобальные переменные, bleugh.

Есть ли лучший способ поделиться одним модулем между всеми директивами и контроллерами вашего приложения? Например,

angular.module('VolumeOutputOptions').directive(...);

angular.module('VolumeOutputOptions').controller(...);

быть двумя отдельными модулями с одним и тем же именем или угловым обнаружением и слиянием их?

Теги:

1 ответ

1

Если вы используете

angular.module('VolumeOutputOptions').directive(...);

angular.module('VolumeOutputOptions').controller(...);

Чтобы использовать это, должно быть что-то вроде angular.module('VolumeOutputOptions', []) чтобы создать модуль перед его использованием. то оба они назначаются тому же модулю VolumeOutputOptions.

если вы определяете такой модуль, как angular.module('moduleName', []) со вторым параметром массива для зависимостей, то только угловой создать новый модуль. Если параметр массива не передается, то угловое будет ссылаться на предыдущий модуль, который был объявлен с тем же именем.

  • 0
    Таким образом, единственный, кто построит модуль, это тот, у кого есть параметр массива? Это отлично, спасибо!
  • 0
    да это оно :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню