Spec-Zone.ru › Angular.js 1.7

Улучшить эту документацию Просмотреть исходный код $animateProvider

  1. $animate
  2. поставщик в модуле ng

Обзор

Базовое реализация $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 если она не установлена.

  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API