Инструменты пользователя

Инструменты сайта


angular:angularjs:osnovy:moduli

Модули в AngularJS

Основной формой организации приложений в AngularJS являются модули. Модуль представляет хранилище различной информации: директив, фильтров, контроллеров и т.д. При этом одно приложение может иметь несколько модулей. Например, разные модули могут представлять какую-либо специфическую функциональность.

Модули позволяют ассоциировать определенный участок html-страницы с приложением AngularJS. Модули также позволяют организовать и структурировать различные компоненты приложения AngularJS. Кроме того, модульность архитектуры приложения повышает тестируемость, и мы можем использовать различные части-модули приложения в других приложениях.

Для создания модуля используется метод angular.module(). Этот метод принимает три параметра, два из которых являются обязательными:

  1. Название модуля. Согласно соглашениям о наименовании модуль должен иметь суффикс App
  2. Набор других модулей в виде строкового массива, от которых данный модуль зависит
  3. Конфигурационные настройки модуля

В качестве результата метод angular.module() возвращает объект Module. Например, создадим модуль:

var myApp = angular.module('myApp', []);

Здесь создается модуль myApp. Вместо набора модулей, передаваемых вторым параметром, мы можем отставить пустым массивом. В то же время было бы ошибкой вообще убрать этот параметр. Так как выражение var myApp = angular.module('myApp'); будет представлять попытку получить модуль myApp в одноименную переменную, а не создать его.

Чтобы ассоциировать модуль с определенным куском html-страницы, нужно использовать директиву ng-app:

<html ng-app="myApp">

Используя модуль, мы можем определить ряд компонентов, таких как контроллеры, сервисы и т.д., которые затем применяются в приложении. Для этого объект Module имеет ряд методов, наиболее используемые из них:

Методы объекта module

  • animation(name, factory) используется для создания анимации
  • config(callback) регистрирует функцию которая используется для конфигурации модуля при его загрузке(init, constructor)
  • constant(key, value) определяет сервис который возвращает константу
  • controller(name, constructor) создает контроллер
  • directive(name, factory) создает директиву
  • factory(name, provider) создает сервис применяя фабричный метод
  • filter(name, factory) создает фильтр
  • provider(name, type) создает сервис применяя метод провайдер
  • name возвращает имя модуля
  • run(callback) регистрирует функцию которая будет вызванан после того как Angular загрузит все модули
  • service(name, constructor) создает сервис применяя сервис метод
  • value(name, value) создает сервис который возвращает константу
angular/angularjs/osnovy/moduli.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)