美文网首页
小程序两页面数据互通

小程序两页面数据互通

作者: nCov | 来源:发表于2019-06-11 12:23 被阅读0次

    A页面与B页面数据互通,A页面传递数据给B页面没问题,跳转就可以,B页面卸载如何传递数据给A页面?

    答:那简单啊,直接B页面跳转带参数回到A页面,怎么来的我怎么回去。那有这么简单,除非你写个按钮,
    但是你别忘了用户手机有个返回键,轻轻一按你就完蛋!

    我这里实现方案也很简单 ,A页面用到 onShow B页面用到getCurrentPages()获取页面栈
    A 页面 执行 onShow 你的有个模拟的状态 比如在A页面的是0 ,B页面回传的时候该状态为1
    当执行onShow 是1时 执行你的逻辑

    实现的代码我不贴,我把核心的贴出来( 仅做参考),因为每个业务场景不一样,具体怎么实现自己动动手就可以了,思路有了就好办!下面的代码AB页面共同调用封装在一起!

    class Stickcur {
      /*pageState @用于记录页面跳转状态 */
      constructor() {
        this.appName = '淘宝购物';
        this.jumpData={};       //跳转前数据
        this.returnData ={};    //返回后数据
        this.pageState = 0;     //页面状态
        this.currentTab = null; //当前操作的类目
        this.itemKey = null;    //循环的数组
        this.key = null;        //数组下的那条数据
    
      
      //跳转前数据处理
        jumpPagedata(data){
          this.jumpData=data
        }
       //子页面返回数据处理
       returnPagedata(data){
        this.returnData=data
        }
       //修改当前数据
        updateData(){
          let jumpData = this.jumpData,     //跳转前数据
              returnData = this.returnData, //跳转后数据
              orBrowse = jumpData.browse,  //浏览量
              orLike =  jumpData.likeSate, //点赞状态
              orReply = jumpData.replyArr,//评论量
            
              newBrowse = returnData.browse,
              newLike = returnData.likeSate,
              newReply = returnData.replyArr,
              newObj={};
    
          if (newBrowse > orBrowse){
            newObj.browse = newBrowse
          }
    
          if (newLike != orLike && newLike == true || newLike != orLike && newLike == false) {
            newObj.like = { likeSate: returnData.likeSate ,likeArr:returnData.likeArr}
          }
    
          if (newReply.length > orReply.length) {
            newObj.replyArr = newReply
          }
          
          return newObj
    
        }
       //更改页面状态
        updatePagestate(stateNumber){
          this.pageState = stateNumber
        }
       //初始化数据
       initData(){
         this.jumpData = {};       //跳转前数据
         this.returnData = {};    //返回后数据
         this.pageState = 0      //页面状态
         this.currentTab = null; //当前操作的类目
         this.itemKey = null;    //循环的数组
         this.key = null;        //数组下的贴
       }
    }
    
    export { Stickcur };
    

    相关文章

      网友评论

          本文标题:小程序两页面数据互通

          本文链接:https://www.haomeiwen.com/subject/gzwffctx.html