ionic 返回传参
近期项目中遇到了一个问题,当你想要返回前面的界面,且根据情况刷新返回界面的值。
ionic 有生命钩子:
ionViewWillEnter 每次访问都刷新当前界面
ionViewDidLoad 页面加载完成触发,这里的“加载完成”指的是页面所需的资源已经加载完成,但还没进入这个页面的状态;
其他更不行。
但是以上两个都不能满足我的业务需求,根据情况刷新,首先用户需要在B界面,进行了操作后,返回A界面,A界面才刷新, 否则A界面不刷新
根据以上问题,我去查ionic 的官网, POP并不能传值, 又不能用push 不然路由就乱了。
思前想后
调用回调解决问题
A界面:
new Promise((resolve, reject) => {
this.navCtrl.push("XXXXPage", { resolve:resolve,id: applyfor_id });
}).then(() => {
// B界面调用后执行下面代码
this.alert=''
this.queryData();
});
B界面:
先定义
resolve: any = '';//回调函数
接收参数A界面传参
this.resolve = navParams.get("resolve");
在需要的地方进行调用该函数
that.nativeService.Gettemplate(arr, v_data => {
if (v_data.type == '成功') {
that.appService.alert("撤回成功");
that.resolve();//------------在这调用就行了
that.navCtrl.pop();//---------返回A界面
}
});