微信小程序頁面返回傳參的問題


  比如提交問題,然后需要返回之前頁面,由於onLoad只會加載一次,所以不會觸發,但是我們頁面又需要刷新,那怎么辦?

1、onLoad與onShow區別

onLoad:監聽頁面加載。一個頁面只會調用一次。接收頁面參數 可以獲取wx.navigateTo和wx.redirectTo及<navigator/>中的 query。

onShow:監聽頁面顯示。每次打開頁面都會調用一次(頁面加載好之后,你切到其他頁面,再回來顯示這個頁面,之前加載過的話onLoad就不跑了,但是頁面信息呈現在你面前的這個過程,就會跑onShow)接收不了參數

2、那么頁面返回,需要刷新頁面,怎么辦?

  wx.navigateBack頁面返回傳參的方案:從頁面路由棧中直接獲取和操作目標Page對象

  通過調用小程序的API: getCurrentPages(),來獲取當前頁面路由棧的信息,這個路由棧中按照頁面的路由順序存放着相應的Page對象,獲取到上一級頁面的完整Page對象,從而使直接調用Page對象的屬性和方法成為可能。如下所示:

var pages = getCurrentPages(); var currPage = pages[pages.length - 1];   //當前頁面
var prevPage = pages[pages.length - 2];  //上一個頁面 //直接調用上一個頁面的setData()方法,把數據存到上一個頁面中去
var newtitle ='It is new title'; //不需要頁面更新
prevPage.setData({ title: newtitle })


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM