我遇到一个问题,当我在函数中调用 this.viewCtrl.dismiss(); 和 this.navCtrl.push(HomePage); 时,页面底部消失
所以我有3页/模态: page1:主页,page2:模态,page3:第二页
我从主页导航到具有两个动作(接受或拒绝)的模式
如果用户接受,则转到第二页;如果用户拒绝,则返回首页。当用户接受一切后,一切都会按预期进行,但是如果用户拒绝,则应用程序将隐藏页面底部的标签
我用于拒绝按钮导航的代码如下
模式页面
gotoHome(){
this.viewCtrl.dismiss();
this.navCtrl.push(HomePage);
}
第二页
在构造函数中调用模式
constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, public storage: Storage) {
let myModal = this.modalCtrl.create(modal);
myModal.present();
}
我的TabsPage是Ionics Tabs Layout App的默认设置
答案 0 :(得分:2)
您不需要从模式中推送首页,因为您说过,您将返回首页。
更改modal.ts
gotoHome(){
this.viewCtrl.dismiss();
this.navCtrl.push(HomePage);
}
到
accepted: boolean;
....
accept(){
this.accepted = true;
this.dismiss();
}
reject(){
this.accepted = false;
this.dismiss();
}
dismiss(){
this.viewCtrl.dismiss(this.accepted);
}
被接受时致电accept()
,被拒绝时致电reject()
通过
关闭视图后处理您的操作let myModal = this.modalCtrl.create(modal);
myModal.onDidDismiss( accepted => {
// your actions here
console.log(accepted);
if(accepted){
this.navCtrl.push(SecondPage);
}
});
myModal.present();
上创建了一个示例