很多时候,我们跳转到下一个页面,当返回时,希望带回参数(比如处理后,需要主页面刷新某个List),此时,我们需要通过callback带回参数。
page1:
// 用于pop 回调的 block
myCallbackFunction =(params) =>{
return new Promise((resolve, reject) => {
if(typeof(params)!='undefined'){
resolve('ok');
//判断返回值是否为"Y",如果是,表示有数据改动,需要更新个性化模块
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")
}
//工具条返回按钮事件(带参数)
goBack(){
this.callback(this.isChanged).then(()=>{
this.navCtrl.pop();
});
}