$ionicHistory отслеживает виды во время перемещения пользователя по приложению. Точно так же, как ведет себя браузер, Ionic-приложение способно отслеживать и сохранять предыдущий вид, текущий вид и следующий за ним вид (если он есть). Как правило, типичный веб-браузер сохраняет линейно только один стек истории.

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

$ionicHistory обеспечивает такую параллельную архитектуру истории.

Методы

viewHistory()

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

  • Возвращает:
    объект (object) Возвращает объект, содержащий данные истории видов приложения.

currentView()

Текущий вид приложения.

  • Возвращает:
    объект (object) Возвращает текущий вид.

currentHistoryId()

ID стека истории, который является родительским контейнером текущего вида.

  • Возвращает:
    строку (string) Возвращает ID текущей истории.

currentTitle([val])

Получает и устанавливает заголовок текущего вида.

Параметр

Тип

Описание

val

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

строка (string)

Заголовок, который будет служить обновлением текущего вида.

  • Возвращает:
    строку (string) Возвращает заголовок текущего вида.

backView()

Возвращает вид, который был до текущего вида в стеке истории.
Если пользователь осуществлял навигацию из Вида A в Вид B, то Вид A должен быть предыдущим видом, а
вид B будет текущим видом.

  • Возвращает:
    объект(object) Возвращает предыдущий вид.

backTitle()

Получает заголовок предыдущего вида.

  • Возвращает:
    строку (string) Возвращает заголовок предыдущего вида.

forwardView()

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

  • Возвращает:
    объект (object) Возвращает следующий вид.

currentStateName()

Возвращает имя текущего состояния.

  • Возвращает:
    строку (string)

goBack([backCount])

Перемещает приложение к предыдущему виду, если он существует.

Параметр

Тип

Описание

backCount

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

число (number)

Настройка дополнительного отрицательного целого числа, задающего величину, на сколько видов нужно возвращаться назад. По умолчанию использование значения -1 будет означать переход назад на один вид. Чтобы перейти назад на два вида, нужно установить значение -2. Если число будет превышать количество предыдущих просмотров, зарегистрированных в текущем стеке истории, то возврат будет осуществляться до самого первого вида, записанного в стеке истории. Если числом будет ноль или положительное число, то никакого действия не произойдет. Также глубина возвратов не будет идти вразрез со стеками истории, это означает, что вернуться назад можно будет только в пределах текущего стека истории.

clearHistory()

Очищает всю историю приложения кроме истории для текущего вида.

clearCache()

Убирает из кэша все виды в рамках каждого ionNavView.
Это убирает элемент вида из DOM, и также разрушает его область видимости.

  • Возвращает:
    обещание (promise)

nextViewOptions()

Задает опции для следующего вида. Этот метод может быть полезен, когда нужно
принудительно обойти параметры вида/перехода, назначенные по умолчанию, прямо перед тем, как произойдет переход вида. Например, директива menuClose использует данный метод внутренним образом, чтобы гарантировать, что анимированный переход вида не произойдет в тот момент, когда открыто боковое меню. Также она
устанавливает следующий вид как корневой в своем стеке истории. После перехода эти опции снова сводятся к неопределенному значению.

Доступные опции:

  • disableAnimate: Не делать анимацию для следующего перехода.
  • disableBack: Следующий вид должен забыть свой предыдущий вид и установить его на пустое значение.
  • historyRoot: Следующий вид должен стать корневым (основным) видом в стеке истории.

 

$ionicHistory.nextViewOptions({
  disableAnimate: true,
  disableBack: true
});