=====Модули в AngularJS===== Основной формой организации приложений в AngularJS являются модули. Модуль представляет хранилище различной информации: директив, фильтров, контроллеров и т.д. При этом одно приложение может иметь несколько модулей. Например, разные модули могут представлять какую-либо специфическую функциональность.\\ \\ Модули позволяют ассоциировать определенный участок html-страницы с приложением AngularJS. Модули также позволяют организовать и структурировать различные компоненты приложения AngularJS. Кроме того, модульность архитектуры приложения повышает тестируемость, и мы можем использовать различные части-модули приложения в других приложениях.\\ \\ Для создания модуля используется метод **angular.module()**. Этот метод принимает три параметра, два из которых являются обязательными:\\ - Название модуля. Согласно соглашениям о наименовании модуль должен иметь суффикс App - Набор других модулей в виде строкового массива, от которых данный модуль зависит - Конфигурационные настройки модуля В качестве результата метод angular.module() возвращает объект Module. Например, создадим модуль:\\ var myApp = angular.module('myApp', []); Здесь создается модуль myApp. Вместо набора модулей, передаваемых вторым параметром, мы можем отставить пустым массивом. В то же время было бы ошибкой вообще убрать этот параметр. Так как выражение //var myApp = angular.module('myApp');// будет представлять попытку получить модуль myApp в одноименную переменную, а не создать его.\\ Чтобы ассоциировать модуль с определенным куском html-страницы, нужно использовать директиву **ng-app**: Используя модуль, мы можем определить ряд компонентов, таких как контроллеры, сервисы и т.д., которые затем применяются в приложении. Для этого объект 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) создает сервис который возвращает константу