これが私が達成しようとしているものです。私はすでにアプリケーションにログインしていますが、ログアウトすると、ログイン画面でページを更新するまでタブが残ります。ログアウトするときにログイン画面から削除したい方法、何私はここで逃した?これが私がすることです:
私の 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 に setRoot を設定していますが、それでもタブが画面に表示されるのはなぜですか? これを修正するには?