为什么要关闭菜单属性清除历史记录页面



我不明白为什么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团队的白兰地,为链接帖子中记录的不错的解决方案。

最新更新