如何在侧面菜单IONIC2中显示和隐藏页面

保险丝

我想在ionic2中创建侧边菜单。但是,我不知道如何显示和隐藏菜单内的选项。我想在菜单内,登录之前和登录之后显示一些选项。

Before login             After login
---------                ---------
Home                     Home
Login                    Myprofile
                         Logout

应用程序

pages: Array<{title: string, component: any}>;
    pagess: Array<{title: string, component: any}>;

    this.pages= [
          { title: 'Home', component: HomePage},
          { title: 'Login', component: LoginPage}
        ];

    this.pagess = [
          { title: 'Home', component: HomePage},
          { title: 'Myprofile', component: MyprofilePage},
          { title: 'Logout', component: HomePage}
        ];

enableMenu(loggedIn: boolean) {
    this.menu.enable(loggedIn, 'loggedInMenu');
    this.menu.enable(!loggedIn, 'loggedOutMenu');
  }

我不知道如何设置enableMenu

app.html

<ion-menu id="loggedOutMenu" [content]="content">
  <ion-header>
    <ion-toolbar>
      <ion-title>Menu</ion-title>
    </ion-toolbar>
  </ion-header>

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

  </ion-content>
</ion-menu>

<ion-menu id="loggedInMenu" [content]="content">
  <ion-header>
    <ion-toolbar>
      <ion-title>Menu</ion-title>
    </ion-toolbar>
  </ion-header>

  <ion-content>
    <ion-list>
      <button menuClose ion-item *ngFor="let p of pagess " (click)="openPage(p)">
        {{p.title}}
      </button>
    </ion-list>

  </ion-content>
</ion-menu>

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

login.ts(登录在myphpfile中)

login() {
       this.api.getLogin(this.username, this.password).subscribe(
   data => {

     let loader = this.loadingCtrl.create({
      content: "Please wait...",
      duration: 1000
    });
    loader.present();
    this.navCtrl.setRoot(HomePage);
   },
   err =>  {

    let alert = this.alertCtrl.create({
      title: 'Warning!',
      subTitle: 'incorrect!',
      buttons: ['OK']
    });
    alert.present();
  }
  );

}
萨加尔·库尔卡尼(Sagar kulkarni)

您可以通过订阅/收听loggedIn事件来做到这一点现在,这与您的常规登录名不同。您需要检查是否已登录。

您的app.html代码将保持如下所示:

<ion-menu [content]="content">
  <ion-header>
    <ion-toolbar>
      <ion-title>Menu</ion-title>
    </ion-toolbar>
  </ion-header>

  <ion-content>
    <ion-list>
      <button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)" *ngIf='p.isVisible'>
        {{p.title}}
      </button>
    </ion-list>

  </ion-content>
</ion-menu>

现在这是的主要变化app.ts

pages: Array<{title: string, component: any, isVisible: boolean}>;

constructor(){
  this.api.isLoggedIn().subscribe(loggedIn => {
    this.pages= [
      { title: 'Home', component: HomePage, isVisible: true},
      { title: 'Login', component: LoginPage, isVisible: !loggedIn},
      { title: 'Myprofile', component: MyprofilePage, isVisible: loggedIn},
      { title: 'Logout', component: LogoutPage, isVisible: loggedIn}
    ];
  });
}

现在,您isLoggedIn()的方法是更改​​登录状态时返回一个Observable的方法。它的数据是boolean您可能已经在您的API中拥有了该功能,例如firebase,或者您需要对其进行维护/编写。让我知道您使用的是什么,我将更新我的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ionic-仅在具体页面中显示侧面菜单

来自分类Dev

如何在 Ionic2 中隐藏导航栏

来自分类Dev

如何从ionic2中的组件显示页面

来自分类Dev

如何在ionic2中列出或删除服务,页面?

来自分类Dev

Ionic2:如何在单个页面中设置CSS

来自分类Dev

Ionic 2-在登录页面中禁用侧面菜单

来自分类Dev

如何在Ionic 4的侧面菜单中管理会话?

来自分类Dev

ZF2导航。如何在面包屑中显示页面,但在菜单中隐藏该页面?

来自分类Dev

Ionic2 / Angular2-如何在视图/页面和标签之间滑动(左右)?

来自分类Dev

禁用侧面菜单的滑动以打开Ionic 2中“登录”页面(或任何页面)的手势

来自分类Dev

如何在angular 2材质中隐藏侧面导航栏

来自分类Dev

Ionic2如何在页面中使用JQuery插件

来自分类Dev

Ionic2如何在页面中使用JQuery插件

来自分类Dev

onmouseover事件以显示和隐藏侧面菜单的滚动条

来自分类Dev

如何在 Angular2、Ionic2 中只显示一项

来自分类Dev

无法在ionic2中打开菜单

来自分类Dev

无法在ionic2中打开菜单

来自分类Dev

ionic2:如何在侧菜单中管理我们应用程序中的用户状态?

来自分类Dev

如何在已登录用户的ionic中更改侧面菜单

来自分类Dev

如何正确隐藏仅用于登录页面的ionic2选项卡?

来自分类Dev

如何在 Liferay 导航菜单中隐藏的页面中隐藏导航菜单?

来自分类Dev

如何在地图中显示两个位置并在ionic2中自动设置该点的缩放级别和中心?

来自分类Dev

如何在php中显示和隐藏带有会话的菜单

来自分类Dev

如何在ionic2中重定向

来自分类Dev

如何在Ionic2中对齐项目?

来自分类Dev

如何在 Ionic2 框架中解析 Json 数据?

来自分类Dev

如何在 Ionic2 中添加用户定义的图标?

来自分类Dev

如何在Nautilus的右键菜单中添加“显示隐藏的文件”?

来自分类Dev

如何在下拉菜单中更改侧面和方向箭头?

Related 相关文章

  1. 1

    Ionic-仅在具体页面中显示侧面菜单

  2. 2

    如何在 Ionic2 中隐藏导航栏

  3. 3

    如何从ionic2中的组件显示页面

  4. 4

    如何在ionic2中列出或删除服务,页面?

  5. 5

    Ionic2:如何在单个页面中设置CSS

  6. 6

    Ionic 2-在登录页面中禁用侧面菜单

  7. 7

    如何在Ionic 4的侧面菜单中管理会话?

  8. 8

    ZF2导航。如何在面包屑中显示页面,但在菜单中隐藏该页面?

  9. 9

    Ionic2 / Angular2-如何在视图/页面和标签之间滑动(左右)?

  10. 10

    禁用侧面菜单的滑动以打开Ionic 2中“登录”页面(或任何页面)的手势

  11. 11

    如何在angular 2材质中隐藏侧面导航栏

  12. 12

    Ionic2如何在页面中使用JQuery插件

  13. 13

    Ionic2如何在页面中使用JQuery插件

  14. 14

    onmouseover事件以显示和隐藏侧面菜单的滚动条

  15. 15

    如何在 Angular2、Ionic2 中只显示一项

  16. 16

    无法在ionic2中打开菜单

  17. 17

    无法在ionic2中打开菜单

  18. 18

    ionic2:如何在侧菜单中管理我们应用程序中的用户状态?

  19. 19

    如何在已登录用户的ionic中更改侧面菜单

  20. 20

    如何正确隐藏仅用于登录页面的ionic2选项卡?

  21. 21

    如何在 Liferay 导航菜单中隐藏的页面中隐藏导航菜单?

  22. 22

    如何在地图中显示两个位置并在ionic2中自动设置该点的缩放级别和中心?

  23. 23

    如何在php中显示和隐藏带有会话的菜单

  24. 24

    如何在ionic2中重定向

  25. 25

    如何在Ionic2中对齐项目?

  26. 26

    如何在 Ionic2 框架中解析 Json 数据?

  27. 27

    如何在 Ionic2 中添加用户定义的图标?

  28. 28

    如何在Nautilus的右键菜单中添加“显示隐藏的文件”?

  29. 29

    如何在下拉菜单中更改侧面和方向箭头?

热门标签

归档