this.navCtrl.getViews().forEach(element => {
if(element.name == 'MedicalCheckupPersonalPage'){
let obj:object={showsegment:element.data.showsegment}
//参数只有定义为object对象才能在下面传递;
this.navCtrl.popTo(element,obj);
}
});
element.name只能取等然后dosomethings不能else,dosomethings;因为this.navCtrl.getViews()取得的是个数组,里面有很多项,forEach遍历肯定会有不等的结果出现
后续:昨天在电脑上跑的好好的,今天打包上真机完全和期望的不一样...打日志看了下方法在pc浏览器和移动端返回的根本不一样,移动端返回的没有name属性,更无从判断element.name了...
如图:
好在data属性还在里面是路由参数,没办法,曲线救国吧.所以昨天的方法改了下
this.navCtrl.getViews().forEach(element => {
if(element.data && element.data.showsegment){
let obj:object={showsegment:element.data.showsegment}
this.navCtrl.popTo(element,obj);
}else {
this.path++;
if(this.path>=this.navCtrl.getViews().length){
this.path=0;
this.navCtrl.popToRoot();
}
}
});
2.另外一种方法 this.navCtrl.popTo(this.navCtrl.length() - 3)