$ionicHistory 学习

$ionicHistory 是 ionic 框架实现的一套记录页面导航路径的方式。它可以跟踪用户在 app 内的浏览记录。它可以跟踪用户的当前页面,父页面和子页面(如果有)。
与浏览器不同的是,它可以跟踪多个平行的用户页面历史,比如多个 tab 的单页面应用。

$ionicHistory 里面记录了 view 的一些信息,view 是这样定义的:

1
2
3
4
5
6
7
8
9
10
11
12
viewHistory.views[viewId] = this.createView({
viewId: viewId,
index: hist.stack.length,
historyId: hist.historyId,
backViewId: (currentView && currentView.viewId ? currentView.viewId : null),
forwardViewId: null,
stateId: currentStateId,
stateName: this.currentStateName(),
stateParams: getCurrentStateParams(),
url: url,
canSwipeBack: canSwipeBack(ele, viewLocals)
});

常用方法:

goBack([numOfViews]),可以直接返回 numOfViews 个页面前。

clearCache(),这个方法可以清空缓存的页面,清空页面缓存的同时 DOM 中对应的元素也将被移除。

nextViewOptions() 在这个方法中可以定义是否显示导航动画,是否可以返回,是否将下一个页面设置为根视图。

1
2
3
4
$ionicHistory.nextViewOptions({
disableAnimate: true,
disableBack: true
});

参见:API 参考