zoukankan      html  css  js  c++  java
  • 干掉微信小程序-wx.navigateBack()携带参数给返回的页面

    问题描述

    当我们想实现点击某些东西后直接返回前一个页面或者前几个页面时,我们可能也会需要带着一些参数返回。
    这一问题的解决可以有很多种方法,
    比如:

    1. 使用本地缓存wx.setStorage,wx.getStorage,wx.removeStorage。
    2. 使用wx.navigateTo
      但是,缓存太麻烦;navigateTo方法又会导致刷新整个前面的页面,先前填写的数据会被刷新成初始状态。

    所以,网上查阅资料后,就有了下面的方法,

    实现的效果:

    上一个页面的js部分内容:

    data:{
        goodType: "",
        goodTypeImgUrl: ""
    }
    

    当前页面的js部分内容:

      onTapped: function(e) {
        //console.log(e.currentTarget.dataset)
        let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。
        let previousPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面,-3是上上个页面以此类推。
        previousPage.setData({ // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
          goodType: e.currentTarget.dataset.goodtype,
          goodTypeImgUrl: e.currentTarget.dataset.goodtypeimgurl
        })
        //上一个页面内执行setData操作,将我们想要的信息保存住。当我们返回去的时候,页面已经处理完毕。
        //最后就是返回上一个页面。
        wx.navigateBack({
          delta: 1 // 返回上一级页面。
        })
      },
    //此时页面数据已经改变为我们传递过来的数据。如果想要返回之后处理这些数据,那么要在onShow函数里执行,因为我们执行的是返回,所以不会触发onLoad函数,所以我们要在onShow里执行我们想要使用的函数。
    
  • 相关阅读:
    数据结构与算法之PHP实现二叉树的遍历
    数据结构与算法之二叉树的基本概念和类型
    JS实现下拉单的二级联动
    数据结构与算法之PHP实现队列、栈
    数据结构与算法之PHP实现链表类(单链表/双链表/循环链表)
    数据结构与算法之数组、链表、队列、栈
    大型网站架构总结
    MySQL分库分表
    C基础 那些年用过的奇巧淫技
    C高级 服务器内核分析和构建 (一)
  • 原文地址:https://www.cnblogs.com/lskreno/p/12215751.html
Copyright © 2011-2022 走看看