Улучшить эту документацию Посмотреть исходный код ngSwitch
- директива в модуле ng
Директива ngSwitch используется для условной замены структуры DOM в вашем шаблоне на основе выражения области видимости. Элементы внутри ngSwitch но без ngSwitchWhen или ngSwitchDefault директив будут сохранены в указанном в шаблоне месте.
Сама директива работает аналогично ngInclude, однако вместо загрузки кода шаблона (или загрузки его из кэша шаблонов), ngSwitch просто выбирает один из вложенных элементов и делает его видимым в зависимости от того, какой элемент соответствует значению, полученному из вычисленного выражения. Другими словами, вы определяете контейнерный элемент (куда помещаете директиву), размещаете выражение на атрибуте on="..." (или атрибуте ng-switch="..."), определяете любые внутренние элементы внутри директивы и помещаете атрибут when для каждого элемента. Атрибут when используется для того, чтобы сообщить ngSwitch, какой элемент отображать, когда вычисляется выражение on. Если соответствующее выражение не найдено с помощью атрибута when, то отображается элемент с атрибутом default.
ng-switch-when="someVal" будет соответствовать строке "someVal", а не значению выражения $scope.someVal. Информация о директиве
- Эта директива создает новую область видимости.
- Эта директива выполняется на уровне приоритета 800.
Использование
<ANY ng-switch="expression"> <ANY ng-switch-when="matchValue1">...</ANY> <ANY ng-switch-when="matchValue2">...</ANY> <ANY ng-switch-default>...</ANY> </ANY>
Анимации
enter - происходит после изменения содержимого ngSwitch и размещения соответствующего дочернего элемента внутри контейнера leave - происходит сразу после изменения содержимого ngSwitch и сразу перед удалением предыдущего содержимого из DOM
Нажмите здесь, чтобы узнать больше о шагах, участвующих в анимации.Аргументы
| Параметр | Тип | Подробности |
|---|---|---|
| ngSwitch | on | * | выражение для сопоставления с ng-switch-when. К дочерним элементам добавьте:
|
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.2.32/docs/api/ng/directive/ngSwitch