微信小程序跳转新页面返回时数据传参及保留原页面已填信息

这种应用场景很多地方用到,比如填写表单,需要到新页面选择后返回原页面。

目前常用的方法有,

1、使用全局数据 app.globalData.mydata = xxx
2、使用 storage 储存
不过两种方法都涉及到销毁和管理的缺陷,在此推荐使用 API: getCurrentPages()

在返回按钮 bind 一个 handleBack ,调用返回页面的 setData() 方法,实现夸页面修改data

同时返回跳转使用 wx.navigateBack 保留原页面已经填好的数据。

handleBack(){
    //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
    var pages = getCurrentPages();
    var currPage = pages[pages.length - 1];   //当前页面
    var prevPage = pages[pages.length - 2];  
    prevPage.setData({
      str: '你好'
    })
    wx.navigateBack({
      delta: 1,
    })

你可能感兴趣的:(学习笔记,小程序,前端,javascript)