免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

微信小程序返回上一頁傳參并刷新

發(fā)布時間:2021-07-05 08:47 所屬欄目:小程序開發(fā)教程

問題

  微信小程序onLoad(options)方法在整個生命周期中只加載一次,也就是你進入下個頁面,再返回時,是不會再次觸發(fā)的,所以你返回是url傳參是行不通了。

需求

  現(xiàn)在有這么一個需求:一個商品支付頁面,點擊優(yōu)惠卷進入優(yōu)惠券列表頁,選中優(yōu)惠券后帶著數(shù)據(jù)再返回到支付頁面。

方法

  一、使用到的方法是小程序的頁面棧,感興趣可以打印一下pages的內容,就是你頁面跳轉的軌跡數(shù)組,最后一項就是當前頁面,倒數(shù)第二個就是上一頁。很好理解,因為在當前頁停止了,肯定是最后一個

  //獲取頁面棧

  let pages = getCurrentPages();

  //獲取所需頁面

  let currPage = pages[pages.length - 1];//當前頁面

  let prevPage = pages[pages.length -2];//上一頁

  二、在支付頁把需要再次刷新的數(shù)據(jù)都放到onShow()方法中,不需要刷新的放到onLoad()方法中

思路

  1、我們的目標是把優(yōu)惠券的數(shù)據(jù)渲染到支付頁上,所以先在優(yōu)惠券頁面點擊優(yōu)惠券的時候通過頁面棧獲取到上一頁(也就是支付頁),將本條數(shù)據(jù)動態(tài)添加到支付頁的data中

  //獲取頁面棧

  let pages = getCurrentPages();

  //獲取所需頁面

  let prevPage = pages[pages.length -2];//上一頁

  prevPage.setData({

  yourData:yourData,//你需要傳過去的數(shù)據(jù)

  });

  2、將需要刷新的數(shù)據(jù)放到onShow()方法中

  //這里展示在onShow方法中獲取當前頁onLoad方法中的options

  onShow:function(){

  let pages = getCurrentPages();

  let currPage = pages[pages.length - 1];

  //當前頁的options,啥意思呢,就是你可能某個函數(shù)需要刷新,但是他的參數(shù)正好是傳過來的參數(shù)

  console.log(currPage.options);

  }

  你在優(yōu)惠券頁點擊之后,因為你的數(shù)據(jù)已經(jīng)存到支付頁了,所以返回支付頁后,你可以直接在data中獲取到你需要的數(shù)據(jù),進行你需要的操作。

 


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.szcjxy.com/wxmini/doc/course/26987.html 復制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服