ionic手势滑动问题

问题描述

  • 由A页面点击按钮跳转B页面,B页面加载时会有手势验证C页面校验,如在一定时间内则不需要弹出手势验证页C,否则跳转手势验证C页面。
  • 由于app开放了手势滑动功能,即可向右滑动返回上级页面。上面页面加载顺序为A➡B➡C,如未在C页面做处理,则滑动时直接滑到B页面,跳过了手势验证。

解决思路

  • 由于ionic的view是类似于栈这种模式,后进先出,所以可以直接先在堆栈中把B页面remove掉,然后在手势验证通过后再将B页面插到C页面之前,即可解决问题。

关键代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//定义lastView接收需要删掉的view
lastView:ViewController;

constructor(public navCtrl: NavController){
this.lastView = this.navCtrl.last();
console.dir(this.lastView);
this.navCtrl.removeView(this.navCtrl.last());
}

//验证手势密码
checkFingerPassword(){
xxx
xxx
//验证通过
if(xxx){
this.navCtrl.insert(this.navCtrl.length() - 1,this.lastView.id);
this.navCtrl.popTo(this.lastView.id)
}
}
坚持原创技术分享,您的支持将鼓励我继续创作!