我正在使用ionic3的Lazy-Loading为我的应用程序。 登录可以在延迟加载时正常工作,因为它会根据您的需要加载组件,但是当我尝试LogOut时会出现问题。 OnLogOut我尝试使用navCtrl.pop,就像我以前在Ionic 2中那样。
logout() {
this.afAuth.auth.signOut();
this.navCtrl.pop();
}
导致以下运行时错误:
运行时错误:导航堆栈至少需要一个根页
我猜测由于延迟加载,堆栈上没有底层页面? 首先是我的假设是正确的吗?如果是这样... 您建议使用哪种最佳实践替代方法进行注销?
答案 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
}