在 ionic 2 中使用带有侧边菜单的 nav.push

Posted

技术标签:

【中文标题】在 ionic 2 中使用带有侧边菜单的 nav.push【英文标题】:Use nav.push with side menu in ionic 2 【发布时间】:2016-10-20 17:02:33 【问题描述】:

我尝试在ionic2 中制作一个小应用程序来了解它,但我遇到了导航问题。

事实上,我非常了解rootpage(更改为nav.setRoot)和“正常”页面(添加nav.push)之间的区别。问题是对于我的应用程序,我需要能够打开一个侧边菜单(如果我在 rootpage 上,这没关系,但不是第二种类型的页面不行)并且能够返回(这对于推送页面是可以的,但对于根页面则不行)。

所以对我来说,这种类型的页面应该是推送而不是根页面,但是如何在这种类型的页面上显示侧边菜单?

谢谢。

【问题讨论】:

【参考方案1】:

编辑:

在您的ion-menu 项目中使用persistent="true" 怎么样?就像您在 Ionic2 文档中看到的那样:

永久菜单永久菜单在 导航堆栈中所有页面上的导航栏。使菜单持久化 在元素上将 persistent 设置为 true。请注意,这将 仅影响附加到菜单的 NavBar 中的 MenuToggle 按钮 将 persistent 设置为 true,任何其他 MenuToggle 按钮都不会 受影响。

所以你的app.html 将是:

<ion-menu [content]="content" persistent="true">

  <ion-toolbar>
    <ion-title>Pages</ion-title>
  </ion-toolbar>

  <ion-content>
    <ion-list>
      <button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)">
        p.title
      </button>
      <button menuClose ion-item (click)="logout()">Logout</button>
    </ion-list>
  </ion-content>

</ion-menu>

<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>

【讨论】:

完美运行。谢谢。 @sebaferreras 这会打开菜单,但它是推送页面下的一层 @ESturzenegger 推送页面下一层是什么意思? @sebaferreras 假设我有一个菜单项 ENTRY1,我单击它。现在我单击该页面的链接,该链接将 ENTRY1_1 页面推送到导航堆栈。通过现在单击 ENTRY1_1 上的菜单按钮打开菜单,但我只有在弹出 ENTRY1_1 并返回 ENTRY1 时才能看到它。这就是我的意思是推送页面下的一层。 好的,已经修复了,哈哈...问题是我从模态框推送了第三页,然后将其关闭,而不是先关闭再推送

以上是关于在 ionic 2 中使用带有侧边菜单的 nav.push的主要内容,如果未能解决你的问题,请参考以下文章

从列表页面到主页的 Ionic 3 侧边菜单不去

如何在 ionic 4 中创建手风琴式侧边菜单

ionic 2 标题不显示侧边菜单“栏”

Ionic 2 - 用户登录后侧边菜单更改

ionic 2 + angular 2 - 选项卡 + 侧边菜单

Ionic 4 路由到带有选项卡的视图会触发整页重新加载