angular – 离子3刷新侧面菜单登录后

我需要根据用户的角色显示侧面菜单项.所以我检查app.html是否页面(角色)等于登录角色.但是在登录后它不显示侧边菜单中的项目,但在使用浏览器refesh按钮刷新应用程序后,它会显示正确的项目.
我想问题是离子是缓存菜单视图,如果它是如此,我如何刷新应用程序以显示新的菜单项.

每次我使用其他用户/角色登录时,它都会根据以前的用户/角色显示菜单.

app.component.ts

constructor() {
    this.initializeApp();
    this.pages = [
                    { title: 'Home',component: 'HomePage',icon: 'home',role: 5 },{ title: 'Profile',component: 'ProfilePage',icon: 'person',{ title: 'Account',component: 'AccountPage',{ title: 'Search Employee',component: 'AtlasemployeehomePage',role: 4 }
                 ];

  }

app.html

<ion-list>
      <div *ngFor="let p of pages">
        <button menuClose ion-item *ngIf="p.role == role"  (click)="openPage(p)">
          <ion-icon  name="{{p.icon}}" style="margin-right:10%"></ion-icon> {{p.title}}
        </button>
      </div>

      <button menuClose ion-item (click)="presentlogout()">
        <ion-icon name="log-out" style="margin-right:10%"></ion-icon> logout
      </button> 
    </ion-list>

我根据登录用户设置角色变量.

为此你可以使用 Events API

Events is a publish-subscribe style event system for sending and
responding to application-level events across your app.

import { Events } from 'ionic-angular';

// login.ts page (publish an event when a user is created)
constructor(public events: Events) {}
createuser(user) {
  console.log('User created!')
  this.events.publish('user:created',user,Date.Now());
}


// app.component.ts page (listen for the user created event after function is called)
constructor(public events: Events) {
  events.subscribe('user:created',(user,time) => {
    // user and time are the same arguments passed in `events.publish(user,time)`
    console.log('Welcome','at',time);
  });
}

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...