很多時候,我們跳轉到下一個頁面,當返回時,希望帶回參數(shù)(比如處理后,需要主頁面刷新某個List),此時,我們需要通過callback帶回參數(shù)。
page1:
// 用于pop 回調的 block
myCallbackFunction =(params) =>{
return new Promise((resolve, reject) => {
if(typeof(params)!='undefined'){
resolve('ok');
//判斷返回值是否為"Y",如果是,表示有數(shù)據(jù)改動,需要更新個性化模塊
if(params=="Y"){
this.getModuleList();
}
}else{
reject(Error('error'))
}
});
}
//跳轉到下一頁,帶callback
goModulePages(){
this.navCtrl.push('CustommodulePage', {
callback: this.myCallbackFunction
})
}
page2:
constructor(public navCtrl: NavController, public navParams: NavParams,private http: HttpClient) {
this.callback = this.navParams.get("callback")
}
//工具條返回按鈕事件(帶參數(shù))
goBack(){
this.callback(this.isChanged).then(()=>{
this.navCtrl.pop();
});
}