这是我试图实现的目标,我已经登录到我的应用程序,但是当我注销时,选项卡仍然存在,直到我在登录屏幕中刷新我的页面,我希望它在我注销时从我的登录屏幕消失 如何,什么我错过了这里?这是我所做的:
我的 app.component.ts :
export class MyApp {
public rootPage: any = TabsPage;
constructor(platform: Platform) {
if (localStorage.getItem("currentUser") === null) {
console.log("not logged in");
this.rootPage = LoginPagePage;
} else {
console.log("already logged in");
this.rootPage = TabsPage;
}
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();
Splashscreen.hide();
});
}
}
下面是我的 tabs.ts :
export class TabsPage {
public tab1Root: any;
public tab2Root: any;
public tab3Root: any;
constructor() {
this.tab1Root = HomePage;
this.tab2Root = AboutPage;
this.tab3Root = ExplorePage;
}
}
那么这是我的 tabs.html :
当我这样做时,第一次加载时它看起来很正常,标签不显示。然后在我登录后,我设置
this.navCtrl.setRoot(TabsPage);
这是我的注销代码:
logout(){
localStorage.removeItem("currentUser");
this.navCtrl.setRoot(LoginPagePage);
}
我已经在我的 LoginPagePage 中设置了 root,为什么标签仍然出现在屏幕上?如何解决这个问题?