从后台历史记录中删除视图 - Ionic2
Remove a view from the back history - Ionic2
有人知道如何从 ionic2 中的后台历史记录(或导航堆栈)中删除视图吗?
在 Ionic 1 中,我用
解决了这个问题
this.$ionicHistory.nextViewOptions({
disableAnimate: true,
disableBack: true
});
这将非常有用,例如,在成功登录后从历史记录中完全删除我的应用程序的登录页面。
在这种情况下,仅仅不显示后退按钮是不够的,因为 Android 终端在设备上有自己的物理后退按钮。
我试过了,在我的登录函数返回一个成功的承诺之后,在将下一页推入堆栈之前:
this.navController.pop();
或
this.navController.remove(this.viewCtrl.index);
但不幸的是两者都没有成功:(
obrejacatalin 在 https://forum.ionicframework.com/t/solved-disable-back-in-ionic2/57457 上找到了解决方案
this.nav.push(TabsPage).then(() => {
const index = this.nav.getActive().index;
this.nav.remove(0, index);
});
所以我想先推送下一页很重要,等待承诺答案然后删除当前视图
要删除一个后视图,您需要使用 startIndex 和要从堆栈中删除的页数。
this.navCtrl.push(NextPage)
.then(() => {
const startIndex = this.navCtrl.getActive().index - 1;
this.navCtrl.remove(startIndex, 1);
});
有关更多选项,如 removeView(viewController),请参阅此文档:
https://ionicframework.com/docs/v2/api/navigation/NavController/#remove
我遇到了与 Ionic 3
相同的问题。
因此,只需两步即可重置历史记录:
// ...
constructor(public navCtrl: NavController) { }
// ...
this.navCtrl.setRoot(NewPageWithoutPrev);
this.navCtrl.popToRoot();
// ...
链接:
https://ionicframework.com/docs/api/navigation/NavController/#setRoot
https://ionicframework.com/docs/api/navigation/NavController/#popToRoot
有人知道如何从 ionic2 中的后台历史记录(或导航堆栈)中删除视图吗?
在 Ionic 1 中,我用
解决了这个问题this.$ionicHistory.nextViewOptions({
disableAnimate: true,
disableBack: true
});
这将非常有用,例如,在成功登录后从历史记录中完全删除我的应用程序的登录页面。
在这种情况下,仅仅不显示后退按钮是不够的,因为 Android 终端在设备上有自己的物理后退按钮。
我试过了,在我的登录函数返回一个成功的承诺之后,在将下一页推入堆栈之前:
this.navController.pop();
或
this.navController.remove(this.viewCtrl.index);
但不幸的是两者都没有成功:(
obrejacatalin 在 https://forum.ionicframework.com/t/solved-disable-back-in-ionic2/57457 上找到了解决方案
this.nav.push(TabsPage).then(() => {
const index = this.nav.getActive().index;
this.nav.remove(0, index);
});
所以我想先推送下一页很重要,等待承诺答案然后删除当前视图
要删除一个后视图,您需要使用 startIndex 和要从堆栈中删除的页数。
this.navCtrl.push(NextPage)
.then(() => {
const startIndex = this.navCtrl.getActive().index - 1;
this.navCtrl.remove(startIndex, 1);
});
有关更多选项,如 removeView(viewController),请参阅此文档: https://ionicframework.com/docs/v2/api/navigation/NavController/#remove
我遇到了与 Ionic 3
相同的问题。
因此,只需两步即可重置历史记录:
// ...
constructor(public navCtrl: NavController) { }
// ...
this.navCtrl.setRoot(NewPageWithoutPrev);
this.navCtrl.popToRoot();
// ...
链接:
https://ionicframework.com/docs/api/navigation/NavController/#setRoot
https://ionicframework.com/docs/api/navigation/NavController/#popToRoot