Here is what i trying to achieve, i already log in into my aplication, but when i logout, the tab is still there until i refresh my page in my login screen, i want it gone from my login screen when i logout how, what i missed here? Here is what i do :
my 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();
    });
  }
}
below is my tabs.ts :
export class TabsPage {
  public tab1Root: any;
  public tab2Root: any;
  public tab3Root: any;
  constructor() {
    this.tab1Root = HomePage;
    this.tab2Root = AboutPage;
    this.tab3Root = ExplorePage;
  }
}
then here is my tabs.html :
when i do that, it appear normal when first load, the tabs doesn't show up. Then after i logged in, i do set
this.navCtrl.setRoot(TabsPage);
here is my logout code :
  logout(){
    localStorage.removeItem("currentUser");
    this.navCtrl.setRoot(LoginPagePage);
  }
there i already setRoot into my LoginPagePage, why still the tab appear on the screen? how to fix this?
I found the solution. I have to access.getRootNav() function. I don't know, why the setRoot that I import from NavController is not working to clear the tab. But I read somewhere (I forgot where), that I have to use App. So here is how I do it. I do import "App" from ionic-angular:
import { NavController, App } from 'ionic-angular';
then I access the .getRootNav(), just like my code below:
  logout(){
    localStorage.removeItem("currentUser");
    this._app.getRootNav().setRoot(LoginPagePage);
  }
Then I navigate to my login page, it won't show the tab any more.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With