我不明白为什么menu-close
清除缓存,因此我无法返回上一页。
<ion-list>
<ion-item class="item-icon-left" menu-close ui-sref="app.home">
<h2 class="menu-text">home</h2>
</ion-item>
<ion-item class="item-icon-left" menu-close ui-sref="app.org">
<h2 class="menu-text">org</h2>
</ion-item>
<ion-item class="item-icon-left" menu-close ui-sref="app.groups">
<h2 class="menu-text">group</h2>
</ion-item>
</ion-list>
Ionic团队的这篇文章可能包含您的解决方案:
https://forum.ionicframework.com/t/any-way-to-not-reset-history-stack-on-menu-close/16340
正如您所说,使用菜单关闭标签,清除历史记录。因此,如果要保留历史记录,则应避免使用menu-close,并尝试构建自己的操作来关闭菜单。
类似于在菜单的每个项目中添加 ng-click:
<ion-item ng-click="closeMenu()" ui-sref="page2">Page 2</ion-item>
然后构建自己的操作单击(在本例中为 closeMenu())。此方法将包含一段代码,告诉您的应用程序要做什么/如何关闭菜单(因为这段代码不包含有关历史记录的任何内容,因此历史记录将被保留)。
$scope.closeMenu = function() {
$ionicSideMenuDelegate.toggleLeft();
}
$ionicHistory.nextViewOptions({
disableAnimate: true
});
当然,不要忘记从html中删除菜单关闭属性;)
今天尝试了这个解决方案来增强我的应用程序,它就像一个魅力。感谢Ionic团队的白兰地,为链接帖子中记录的不错的解决方案。