Улучшить эту документацию Просмотреть исходный код $animateProvider
Обзор
Базовое реализация $animate, не выполняющая анимации, а вместо этого синхронно обновляет DOM и разрешает возвращаемую промис выполнения.
Для включения анимаций должен быть загружен модуль ngAnimate.
Чтобы увидеть функциональную реализацию, см. src/ngAnimate/animate.js.
Методы
-
register(name, factory);
Регистрирует новую функцию фабрики инжектируемой анимации. Функция фабрики создает объект анимации, содержащий функции обратного вызова для каждого события, которое ожидается анимировать.
-
eventFn:function(element, ... , doneFunction, options)Элемент для анимации,doneFunctionи параметры, переданные в анимацию. В зависимости от типа анимации дополнительные аргументы будут переданы в функцию анимации. Ниже приведен список сигнатур функций для различных методов анимации: -
setClass: function(element, addedClasses, removedClasses, doneFunction, options)
- addClass: function(element, addedClasses, doneFunction, options)
- removeClass: function(element, removedClasses, doneFunction, options)
- enter, leave, move: function(element, doneFunction, options)
-
animate: function(element, fromStyles, toStyles, doneFunction, options)
Убедитесь, что вызываете
doneFunctionпосле завершения анимации.
return { //enter, leave, move signature eventFn : function(element, done, options) { //code to run the animation //once complete, then run done() return function endFunction(wasCancelled) { //code to cancel the animation } } }Параметры
Параметр Тип Описание name stringИмя анимации (это то, что будет сравниваться со значением CSS на основе класса).
factory FunctionФункция фабрики, которая будет выполнена для возврата объекта анимации.
-
-
customFilter([filterFn]);
Устанавливает и/или возвращает пользовательскую функцию фильтра, которая используется для «фильтрации» анимаций, т.е. определения, разрешена ли анимация. При отсутствии фильтра (по умолчанию) никакая анимация не будет заблокирована. Установка значения
customFilterпозволит выполнять только анимации, для которых возвращаемое значение функции фильтра истинно.Это позволяет легко создавать произвольно сложные правила фильтрации анимаций, например, разрешать только определенные события или разрешать анимации только на определённых поддеревьях DOM и т. д. Фильтрация анимаций также может повысить производительность на устройствах с низкой производительностью, а также в приложениях, содержащих большое количество структурных операций.
Рекомендация: Держите функцию фильтра как можно более простой, так как она будет вызываться для каждого действия DOM (например, вставка, удаление, изменение класса), выполняемого «осознающими анимацию» директивами. См. здесь для списка встроенных директив, поддерживающих анимации. Выполнение ресурсоёмких или длительных операций в каждом вызове функции фильтра может замедлить ваши анимации.Примечание: Если присутствует,
customFilterбудет проверен перед classNameFilter.Параметры
Параметр Тип Описание filterFn (необязательно)Function=Функция фильтра, которая будет использоваться для фильтрации всех анимаций. Если возвращается ложное значение, анимация не будет выполнена. Функция будет вызвана со следующими аргументами:
-
node
{DOMElement}- Элемент DOM, который будет анимирован. -
event
{String}- Название события анимации (например,enter,leave,addClassи т. д.). -
options
{Object}- Коллекция параметров/стилей, используемых для анимации.
Возвращаемое значение
FunctionТекущая функция фильтра или
nullесли она не установлена. -
node
-
classNameFilter([expression]);
Устанавливает и/или возвращает регулярное выражение CSS-класса, которое проверяется при выполнении анимации. При запуске classNameFilter не установлено, поэтому $animate попытается выполнить анимацию для любого срабатывающего элемента. При установке значения
classNameFilter, анимации будут выполняться только для элементов, которые успешно соответствуют выражению фильтра. Это, в свою очередь, может повысить производительность на устройствах с низкой производительностью и в приложениях, содержащих большое количество структурных операций.Примечание: Если присутствует,
classNameFilterбудет проверяться после customFilter. ЕслиcustomFilterприсутствует и возвращает false,classNameFilterне будет проверяться.Параметры
Параметр Тип Описание expression (необязательно)RegExpВыражение className, которое будет проверено относительно всех анимаций
Возвращаемое значение
RegExpТекущее значение выражения CSS className. Если значение null, то выражение не установлено
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/provider/$animateProvider