为什么菜单关闭属性清除历史页面?

时间:2016-02-25 16:29:28

标签: ionic-framework

我不明白为什么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>

1 个答案:

答案 0 :(得分:-1)

Ionic团队的这篇文章可能包含您的解决方案:

https://forum.ionicframework.com/t/any-way-to-not-reset-history-stack-on-menu-close/16340

如您所说,使用菜单关闭标记,清除历史记录。因此,如果您想保留历史记录,则应避免使用菜单关闭并尝试构建自己的操作来关闭菜单。

比如在菜单的每个项目中添加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中删除menu-close属性;)

今天尝试使用此解决方案来增强我的应用程序,它就像一个魅力。感谢来自Ionic团队的brandyshea,以获得链接帖子中记录的漂亮解决方案。