Как условно установить rootPage в Ionic3

Я пытаюсь установить учебную страницу для новичков в приложении и страницу входа для других. Я устанавливаю значение ключа в локальном хранилище, если пользователь прошел страницу обучения.

export class MyApp {
rootPage: any = LoginPage;

constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
    platform.ready().then(() => {
        statusBar.styleDefault();
        if(!localStorage.getItem( 'tutorial' )) {
            this.rootPage = TutorialPage;
        }
        splashScreen.hide();
    });
  }
}

Приведенный выше код работает нормально, но есть задержка в настройке страницы обучения, и сначала просматривается страница входа, а затем появляется страница обучения. Я хочу знать, правильно ли я это делаю или что-то упускаю?


person Shubham    schedule 25.09.2017    source источник
comment
Удалите rootPage: any = LoginPage;, используйте только rootPage: any; и поместите else блок в constructor.   -  person hrdkisback    schedule 25.09.2017
comment
Спасибо @hrdkisback за ваш ответ. это сработало!   -  person Shubham    schedule 25.09.2017


Ответы (1)


пожалуйста, используйте следующий код

export class MyApp {
rootPage: any;

constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
    platform.ready().then(() => {
        statusBar.styleDefault();
        if(!localStorage.getItem( 'tutorial' )) {
            this.rootPage = TutorialPage; // user can user this.nav.setRoot(TutorialPage);
        }else{
            this.rootPage = LoginPage; // user can user this.nav.setRoot(LoginPage);
        }
        splashScreen.hide();
    });
  }
}

Я надеюсь, что это работает для вас.

person Nakul Kundaliya    schedule 25.09.2017