我有一个页面(UpgradePage
),我需要使用push/setRoot
到side menu
以及modal page
加载同一页面。
问:关于此方法upgradeLater()
,我需要决定是将其转到另一个页面HomePage
还是仅close
作为popup
使用this.viewCtrl.dismiss();
。你能告诉我怎么做吗?
注意:换句话说,如何查找page
是否创建为modal
?
upgrade.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
@IonicPage()
@Component({
selector: 'page-upgrade',
templateUrl: 'upgrade.html',
})
export class UpgradePage {
constructor(private navCtrl: NavController, private navParams: NavParams) {
}
upgradeLater() {
if("comming from side menu"){
this.navCtrl.setRoot('HomePage');
} else{
this.viewCtrl.dismiss(); //if loadded this page as modal page
}
}
}
答案 0 :(得分:1)
当您将参数创建为模态页面或常规页面时,可以将参数传递给页面。
对于模态:
let profileModal = this.modalCtrl.create(UpgradePage, { type: 'modal'});
常规页面:
this.navCtrl.push(UpgradePage, {type: 'page'});
然后在UpgradePage
:
type;
constructor(private navCtrl: NavController, private navParams: NavParams)
{
this.type= navParams.get('type');
}
upgradeLater() {
if(this.type=='page'){
this.navCtrl.setRoot('HomePage');
} else{
this.viewCtrl.dismiss(); //if loadded this page as modal page
}
}
修改强>:
实际上在navCtrl
中,模态和常规页面是相同的,如果您使用push()
,则可以使用pop()
关闭它们。
更多信息here