Ionic3 Lazy-Loading navCtrl.pop替代

时间:2018-01-26 06:10:15

标签: ionic-framework ionic3 lazy-loading pop

我正在使用ionic3的Lazy-Loading为我的应用程序。 登录可以在延迟加载时正常工作,因为它会根据您的需要加载组件,但是当我尝试LogOut时会出现问题。 OnLogOut我尝试使用navCtrl.pop,就像我以前在Ionic 2中那样。

logout() {
  this.afAuth.auth.signOut();
  this.navCtrl.pop();
}

导致以下运行时错误:

  

运行时错误:导航堆栈至少需要一个根页

我猜测由于延迟加载,堆栈上没有底层页面? 首先是我的假设是正确的吗?如果是这样... 您建议使用哪种最佳实践替代方法进行注销?

2 个答案:

答案 0 :(得分:1)

尝试:

this.navCtrl.setRoot('LoginPage');

如果使用navCtrl.push,最终将在登录页面上出现一个后退按钮。因此使用setRoot()

答案 1 :(得分:0)

延迟加载不维护堆栈,这就是为什么您收到此错误Runtime Error: Navigation stack needs at least one root page

尝试

logout() {
  this.afAuth.auth.signOut();
  this.navCtrl.push('LoginPage'); //Coming back to Login Page after logging out
}