Spec-Zone.ru › Angular.js 1.4

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

  1. директива в модуле ng

Директива ngClass позволяет динамически устанавливать CSS-классы на HTML-элемент, привязывая выражение, представляющее все добавляемые классы.

Директива работает тремя различными способами, в зависимости от типа результата выражения:

  1. Если выражение вычисляется в строку, эта строка должна содержать один или несколько имён классов, разделённых пробелами.

  2. Если выражение вычисляется в объект, то для каждой пары ключ-значение в объекте с истинным значением, соответствующий ключ используется как имя класса.

  3. Если выражение вычисляется в массив, каждый элемент массива должен быть либо строкой, как в типе 1, либо объектом, как в типе 2. Это означает, что вы можете смешивать строки и объекты в массиве, чтобы получить больший контроль над отображаемыми CSS-классами. Пример этого показан ниже в коде.

Директива не будет добавлять дублирующиеся классы, если определённый класс уже установлен.

Когда выражение меняется, ранее добавленные классы удаляются, и только после этого добавляются новые.

Информация о директиве

  • Эта директива выполняется на уровне приоритета 0.

Использование

  • в качестве атрибута:
    <ANY
      ng-class="expression">
    ...
    </ANY>
  • в качестве CSS-класса:
    <ANY class="ng-class: expression;"> ... </ANY>

Анимации

add - происходит непосредственно перед применением класса к элементам

remove - происходит непосредственно перед удалением класса с элемента

Нажмите здесь, чтобы узнать больше о шагах, участвующих в анимации.

Аргументы

Параметр Тип Подробности
ngClass expression

Выражение для вычисления. Результатом вычисления может быть строка, представляющая имена классов, разделённые пробелами, массив или карта имён классов с булевыми значениями. В случае карты имена свойств, значения которых истинны, будут добавлены в качестве CSS-классов к элементу.

Пример, демонстрирующий базовые привязки с помощью директивы ngClass.

Анимации

Пример ниже демонстрирует, как выполнять анимации с использованием ngClass.

ngClass и существующие CSS3 переходы/анимации

Директива ngClass всё ещё поддерживает CSS3 переходы/анимации, даже если они не следуют структуре именования CSS ngAnimate. При анимации ngAnimate добавит дополнительные CSS-классы для отслеживания начала и окончания анимации, но это не помешает существующим CSS-переходам на элементе. Чтобы понять, что происходит во время анимации на основе класса, ознакомьтесь с пошаговыми деталями $animate.addClass и $animate.removeClass.

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/directive/ngClass

Spec-Zone.ru

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