我已经尝试了以下离子菜单中的Side菜单代码。 登录前在第1页显示侧边菜单(例如,首页,登录) 登录后,我需要在同一页面上显示注销。 登录时侧边菜单不会自动刷新。但是在刷新应用程序后,侧边菜单已更新。 我尝试了一些事件,但是没有用。任何人都可以帮助我。
app.component.ts
constructor(public platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen,private toastCtrl: ToastController,public events: Events) {
events.subscribe('user:loggedIn', (user, time) => {
// user and time are the same arguments passed in `events.publish(user, time)`
console.log('Welcome', user, 'at', time);
});
}
this.beforeLoginPages = [
{ title: 'Login', component:LoginPage, icon: 'log-in' },
{ title: 'Register', component:RegisterPage, icon: 'person' },
{ title: 'Forgot Password', component:ForgotPasswordPage, icon: 'unlock' }];
this.afterLoginPages = [
{ title: 'Booked', component: this.tab1Root, icon: 'thumbs-up' },
{ title: 'Rating', component:this.tab2Root, icon: 'contacts' },
{ title: 'Logout', component:LogoutPage, icon: 'log-out' }
];
openPage(page) {
this.nav.setRoot(page.component);
}
app.html
<ion-content class="bodybg">
<ion-list>
<button menuClose ion-item *ngFor="let p of pages" (tap)="openPage(p)" style="color:#7ffffe !important;" class="hovermenulist" >
<ion-icon item-start [name]="p.icon" color="lightblue" ></ion-icon>
{{p.title}}
</button>
</ion-list>
</ion-content>
Login.ts
成功登录后
this.events.publish('user:loggedIn', usrDtls.fullName, Date.now());
this.nav.setRoot(Page1);
离子信息
离子:
ionic(Ionic CLI):4.5.0(C:\ Users \ hi \ AppData \ Roaming \ npm \ node_modules \ ionic 离子框架:离子角3.9.2 @ ionic / app-scripts:1.3.7
科尔多瓦:
cordova(Cordova CLI):未安装 Cordova平台:Android 6.3.0 Cordova插件:没有列入白名单的插件(总共0个插件)
系统:
Android SDK工具:26.1.1(C:\ Users \ hi \ AppData \ Local \ Android \ Sdk) NodeJS:v6.11.4(C:\ Program Files \ nodejs \ node.exe) npm:6.4.1 作业系统:Windows 10