$ionicHistory

记录用户操作应用的视图历史记录。类似于浏览器的行为方式,Ionic应用程序能够跟踪以前的视图,当前视图,和前视图(如果有一个)。然而,一个典型的web浏览器仅以线性方式跟踪一个历史堆栈。

与传统的浏览器环境不同,应用程序和Web应用程序具有并行的独立历史记录,例如使用tabs。 如果用户在一个选项卡上深入浏览几页,然后切换到新选项卡并返回,则后退按钮不是与前一个选项卡相关,而是与该选项卡中访问的先前页面相关。

$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()

删除每个(ionic-china中文网文档)ionNavView中的所有缓存视图。 这将从DOM中删除视图元素,并销毁它的scope。

nextViewOptions()

设置下一个视图的选项。 此方法可用于在视图转换发生之前覆盖某些视图/转换默认值。 例如,menuClose指令在内部使用此方法,以确保在侧面菜单打开时不会发生动画视图转换,并且还将下一个视图设置为其历史堆栈的根。 转换后,这些选项将设置为null。

可用选项:

  • disableAnimate: 不要为下一个转换设置动画。
  • disableBack: 下一个视图应该忽略它的后视图,并将其设置为null。
  • historyRoot: 下一个视图应该成为其历史堆栈中的根视图。
$ionicHistory.nextViewOptions({
  disableAnimate: true,
  disableBack: true
});