Основы AngularJS

Модули в AngularJS

Последнее обновление: 1.11.2015

Основной формой организации приложений в 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 имеет ряд методов, наиболее используемые из них:

  • config(callback): регистрирует функцию callback, которая используется для его конфигурации в процессе загрузки

  • constant(key, value): определяет сервис, который возвращает константное значение value

  • controller(name, constructor): создает контроллер

  • directive(name, factory): создает директиву, которая расширяет стандартную разметку html

  • factory(name, provider): создает службу

  • filter(name, factory): создает фильтр

  • provider(name, type): создает сервис

  • service(name, constructor): создает сервис

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850