在ionic3中注销时重新加载appcomponent.ts

时间:2017-08-30 09:59:21

标签: ionic-framework ionic2

我有一个场景,根据我需要获得侧边菜单的用户类型。我只有在我们第一次启动应用程序时才能实现这一点。即使用户类型更改侧面菜单也会保持不变。任何人都可以建议解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

  

所以你的问题不是最清楚的问题,在下一个问题中你应该添加你的代码。

据我所知,您有多种用户类型,并希望为每种用户提供特定的菜单。

您可以在app.component.html

中创建类似的内容
<ion-list *ngIf="user.role = 'admin'">
  <!-- admin menu -->
</ion-list>

<ion-list *ngIf="user.role = 'default'">
  <!-- default menu -->
</ion-list>

甚至可以使其特定于项目

<ion-list>
  <ion-item>Home</ion-item> <!-- all users -->
  <ion-item *ngIf="user.role = 'admin'">Analytics</ion-item> <!-- admin only -->
</ion-list>

现在我们需要跟踪用户角色本身。

import { Events } from 'ionic-angular';

....

export class AppComponent {
   user: any = {role: 'default'}; //declare it or do something smarter with the menu

   constructor(private events: Events) {
      this.events.subscribe('user:changed', user => {
         // will update the user and immediately change menu accordingly
         this.user = user; 
      });
   }
}

然后在你的登录功能中:

login() {
   let user = this.myApi.login(this.username, this.encryptedPass);

   // will trigger the function from app.component.ts
   this.events.publish('user:changed', user); 
}

有用的链接: