【问题标题】:Correct approach to enable or disable sidemenu on certain pages in Ionic 3?在 Ionic 3 的某些页面上启用或禁用侧边菜单的正确方法?
【发布时间】:2019-06-22 03:22:02
【问题描述】:

我已经浏览了这个 SO 链接 Ionic - How to remove sidemenu on login page only? 并尝试了此处提供的解决方案。根据上面链接中提供的解决方案,这似乎是删除 sidemenu 的最简单方法 在 Ionic 3 的某些页面中,是在每个页面中使用以下代码 sn-p。

login.ts、register.ts、forgot-password.ts(所有文件不需要sidemenu)

constructor(public navCtrl: NavController, public navParams: NavParams, private menu: MenuController) {
    this.menu.enable(false);
}

home.ts、account-settings.ts(所有需要sidemenu的文件)

constructor(public navCtrl: NavController, public navParams: NavParams, private menu: MenuController) {
    this.menu.enable(true);
}

基于上述 SO 解决方案,我必须进入每个页面并通过将标志设置为 false 来禁用侧边菜单,反之亦然,对于需要侧边菜单的页面。

这是比这更好的方法吗?

【问题讨论】:

标签: javascript node.js angular ionic-framework ionic3


【解决方案1】:

你可以试试:-

打开 src/app/app.html 并为您的元素添加一个 ID 这样,

变成了这个。

打开 login.html 并从中删除代码,以便菜单不会显示在页面上。 打开 login.ts 并从 ionic/angular 导入 MenuController。 在构造函数中将 MenuCtrl 上的 enable() 设置为 false 并将菜单 ID 添加为第二个参数。即使菜单没有显示,这样做也会阻止用户滑动打开菜单。

  • constructor(public navCtrl: NavController, public menuCtrl: MenuController) { this.menuCtrl.enable(false, 'myMenu'); }

关注 :- https://forum.ionicframework.com/t/how-to-disable-side-menu-are-some-pages/112968/2

【讨论】:

    【解决方案2】:

    我认为你可以像这样使用 menuToggle 指令:

    <ion-navbar>
        <ion-buttons start>
          <button ion-button menuToggle="false">
            <ion-icon name="menu"></ion-icon>
          </button>
        </ion-buttons>
    </ion-navbar>
    

    基本上将其添加到您需要显示左上角按钮的页面,并将其设置为 false 对于您不希望用户看到按钮调用侧边菜单的页面

    【讨论】:

    • 返回按钮是否会覆盖此菜单图标?
    • 嗯,我想我可能没有真正理解您的用例;/您能否更详细地描述您想要实现的行为?如果页面通过 MenyToggle=false 被“推送”到 navStack - 后退按钮仍会出现。
    • 我只是想了解当有一个侧边菜单图标时后退按钮会发生什么?哪个优先?
    • 后退按钮优先,从 UX 的角度来看,用户处于“推入”页面中,因此要访问侧菜单,他们需要先返回,然后一旦进入根页面,他们就会看到汉堡菜单
    猜你喜欢
    • 2016-08-29
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2016-06-11
    • 2019-01-19
    • 2017-10-31
    • 2015-01-07
    相关资源
    最近更新 更多