ionic 返回传参,返回调用函数 不乱路由

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界面
                          }
                        });

你可能感兴趣的:(angular.js,javascript,前端)