Дочерний элемент ionNavView

Контейнер для контента вида и любой информации, относящейся к панели навигации и строке заголовка. Когда вид входит и выходит из своего родительского ionNavView, вид также генерирует информацию, такую как заголовок, или то, должна ли отображаться кнопка возврата или нет, должна ли демонстрироваться соответствующая директива ionNavBar или нет, какой из переходов должен сопровождаться анимацией, и в каком направлении анимация должна осуществляться.

Виды помещаются в кэш для улучшения производительности. Когда из вида уже совершен переход, его элемент остается в структуре DOM, и область видимости отсоединяется от цикла $watch. При перемещении в вид, который уже находится в кэше, его область видимости подключается заново, и существующий элемент, который был
оставлен в структуре DOM, снова становится активным. Это можно отключить, или же максимальное число видов, находящихся в кэше, можно изменить в $ionicConfigProvider, в конфигурации вида $state, или
с помощью изменения значения атрибута самого вида (см. ниже).

Применение

Ниже дан пример того, как страница будет загружена с ionNavBar, где в качестве заголовка содержится “My Page”.

<ion-nav-bar></ion-nav-bar>
<ion-nav-view>
  <ion-view view-title="My Page">
    <ion-content>
      Hello!
    </ion-content>
  </ion-view>
</ion-nav-view>

Жизненный цикл вида и события

Виды можно кэшировать, а это означает, что контроллеры нормально загружаются только один раз. Это может повлиять на логику вашего контроллера. Чтобы знать, когда вид стал доступен или уже нет, были добавлены события, которые эмитируются из области видимости вида. Эти события также содержат данные о виде представления, такие как заголовок и информации о том, должна ли отображаться кнопка возврата. Также содержатся данные перехода, такие как тип перехода и направление, которое или будет, или уже было использовано.

$ionicView.loaded

Вид загружен. Это событие связано только с одним видом, который создается и добавляется в DOM. Если вид уходит, но он помещен в кэш, то это событие не запустится снова при последующем просмотре. Загруженное событие - это хорошее место для размещения кода установки для вида; однако это не то событие, которое рекомендуется слушать, когда вид становится активным.

$ionicView.enter

Вид полностью вошел и сейчас является активным. Это событие запустится, не важно, загружено ли оно впервые, или вид берется из кэша.

$ionicView.leave

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

$ionicView.beforeEnter

Вид готов к входу и готов стать активным.

$ionicView.beforeLeave

Вид готов к выходу и больше не будет активным.

$ionicView.afterEnter

Вид полностью вошел и сейчас является активным.

$ionicView.afterLeave

Вид закончил выход и больше не является активным.

$ionicView.unloaded

Контроллер вида уничтожен и его элемент удален из DOM.

Кэширование

Кэширование можно отключать и включать многими способами. По умолчанию Ionic будет кэшировать максимум 10 видов. Вы можете принять необязательное решение отключить кэширование либо для отдельного вида, либо в глобальной конфигурации. Дополнительную информацию смотрите в главе Caching (кэширование) раздел ionNavView

API

Атрибут

Тип

Описание

view-title

(необязательный)

(string)

Заголовок (title) text-only, который должен отображаться в родительском ionNavBar. Для HTML-заголовка, такого как изображение, смотрите информацию ionNavTitle.

cache-view

(необязательный)

(boolean)

Определяет, позволено ли этому виду быть помещенным в кэш или нет. Для получения более подробной информации см. раздел Caching в ionNavView. По умолчанию используется true

can-swipe-back

(необязательный)

(boolean)

Если этому виду должно быть позволено использовать такой жест, как свайп, чтобы делать возврат. Это не активирует свайп как действие для возврата назад, если такой жест не доступен на данной платформе, или же не существует предыдущего вида представления. По умолчанию используется true

hide-back-button

(необязательный)

(boolean)

Определяет, возможно ли по умолчанию скрывать кнопку возврата на родительском ionNavBar.

hide-nav-bar

(необязательный)

(boolean)

Определяет, скрывать или нет по умолчанию родительский ionNavBar.