在Ionic 3的某些页面上启用或禁用补充菜单的正确方法?

时间:2019-01-29 03:53:46

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

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

login.ts,register.ts,forgot-password.ts(所有不需要侧面菜单的文件)

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

home.ts,account-settings.ts(所有需要附带菜单的文件)

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

基于以上提供的SO解决方案,我不得不进入每个页面并通过将标志设置为false来禁用需要使用菜单的页面,反之亦然。

这是比这更好的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试:-

打开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

答案 1 :(得分:0)

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

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

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