微信小程序返回上一页面传参

两种方式实现小程序返回页面传递值


方式一,直接调用上一页设置 data

  let pages = getCurrentPages(); // 当前页,
  let prevPage = pages[pages.length - 2]; // 上一页
  prevPage.setData({
    subPageResult: "我是结果",
  })

  wx.navigateBack({ //返回
    delta: 1
  })

方式二,使用 wxStorage

定义 storage-manager.js

async function set(key, data) {
  await wx.setStorage({
    key,
    data: JSON.stringify(data),
  });
}

async function get(key) {
  return new Promise((resolve, reject) => {
    wx.getStorage({
      key,
      success: function (res) {
        resolve(JSON.parse(res.data));
      },
      fail: function (e) {
        resolve(null);
      },
    });
  });
}

module.exports = {
  set,
  get,
};

子页面

const storageManager = require("storage-manager");

async onClickBack(){
  await storageManager.set("subPageResult","我是结果")
  wx.navigateBack({ //返回
    delta: 1
  })
}

父页面

const storageManager = require("storage-manager");

onShow: async function () {
  let r = await storageManager.get("subPageResult")
},