使用SDK后,setRoot不起作用

时间:2017-11-06 06:54:14

标签: ionic2 ionic3 amazon-cognito angular-fullstack

离子版: [] 3.X

目前的行为: 在我的应用程序中,我有三个登录AWS Cognito Identity Provider,Google,facebook的选项。 当用户移动到Drivesetup页面成功登录验证后,我将Drivesetup页面设置为根页面(setRoot),但我遇到的问题是用户可以使用移动后退按钮轻松地在登录屏幕上返回。

预期行为: 当我使用setRoot将屏幕从登录导航到仪表板时,我希望用户无法通过按下移动后退按钮返回登录页面。

重现的步骤: 包含代码。

GitHub回购: - https://github.com/saurabhschauhan/demoApp

相关代码:

constructor(
    public nav: Nav,
    public app: App,
    public navCtrl: NavController,) {
    }
   this.awsCredentialsService.login(data)
      .then((awsCredentialsServiceResponse) => {
        if (awsCredentialsServiceResponse['status'] == 'success') {
          //navigate page
          this.navCtrl.setRoot('DrivesetupPage');
          //OR
          //this.app.getRootNav().setRoot('DrivesetupPage');
          //or
          //this.nav.setRoot('DrivesetupPage');
          this.toasterService.showToaster(email + `Logged in successfully`);
        } else {
          console.log('any other error');
        }
      })

其他信息: 我尝试了另外两个选项this.app.getRootNav()。setRoot('DrivesetupPage')和this.nav.setRoot('DrivesetupPage');但两者都不适合我。

离子信息:

@ionic/cli-utils  : 1.13.0
ionic (Ionic CLI) : 3.13.0
global packages:
cordova (Cordova CLI) : 7.1.0
local packages:
@ionic/app-scripts : 3.0.0
Cordova Platforms  : android 6.3.0
Ionic Framework    : ionic-angular 3.7.1
System:
Android SDK Tools : 26.1.1
Node              : v6.9.1
npm               : 3.10.8
OS                : Linux 3.16
Misc:
backend : pro

谢谢。

0 个答案:

没有答案
相关问题