Spec-Zone.ru › Angular.js 1.2

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

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

Директива ngIf удаляет или воссоздаёт часть DOM-дерева на основе выражения {expression}. Если выражение, присвоенное ngIf, имеет ложное значение, то элемент удаляется из DOM; в противном случае в DOM вставляется копия элемента.

ngIf отличается от ngShow и ngHide тем, что ngIf полностью удаляет и воссоздаёт элемент в DOM, а не меняет его видимость с помощью свойства CSS display. Часто эта разница значима, когда используются CSS-селекторы, которые зависят от положения элемента в DOM, такие как псевдоклассы :first-child или :last-child.

Обратите внимание, что при удалении элемента с помощью ngIf его область видимости уничтожается, а при восстановлении создаётся новая. Область видимости, созданная внутри ngIf, наследует свойства от родительской области видимости с помощью прототипного наследования. Важное следствие этого заключается в том, что если ngModel используется внутри ngIf для привязки к примитиву JavaScript, определённому в родительской области видимости, любые изменения, внесённые в переменную в дочерней области видимости, перепишут (скрывают) значение в родительской области видимости.

Также, ngIf воссоздаёт элементы, используя их скомпилированное состояние. Примером такого поведения является ситуация, когда атрибут класса элемента изменяется непосредственно после компиляции, используя, например, метод .addClass() jQuery, а затем элемент удаляется. Когда ngIf воссоздаёт элемент, добавленный класс будет потерян, поскольку для регенерации элемента используется исходное скомпилированное состояние.

Кроме того, для анимации эффектов enter и leave можно использовать модуль ngAnimate.

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

  • Эта директива создаёт новую область видимости.
  • Эта директива выполняется на уровне приоритета 600.

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

  • как атрибут:
    <ANY
      ng-if="">
    ...
    </ANY>

Анимации

enter — происходит сразу после изменения содержимого ngIf и создания нового DOM-элемента, вставленного в контейнер ngIf. leave — происходит незадолго до удаления содержимого ngIf из DOM.

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

Аргументы

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

Если выражение выражение ложно, то элемент удаляется из DOM-дерева. Если выражение истинно, то копия скомпилированного элемента добавляется в DOM-дерево.

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

Spec-Zone.ru

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