微信小程序wx.switchTab傳參問題


  業務背景:從提問跳到列表需要刷新,以顯示剛提交的數據。

  但是官方文檔 wx.switchTab 明確指明路徑后是不能帶參數的,怎么辦?

  網上有很多解決方案是:switchTab成功跳轉后調用success回調,此時可以拿到跳轉后頁面的page對象,從而調用頁面onLoad方法重載頁面。比如:

wx.switchTab({ url: '../index/index', success: function(e) { var page = getCurrentPages().pop(); if (page == undefined || page == null) return; page.onLoad(); } })

  但經過測試:發現在電腦工具端,偶爾行,偶爾不行;在手機上調試,則完全不行。

  解決方案:

  可以換一種思路,跳轉頁面的時候傳參,是為了有個標識,是為了下一個頁面更方便的展示信息。我們可以在switch跳轉之前設置一個全局變量,到下一個頁面的時候,直接去獲取全局變量。

    app.ajaxPost('dbask/ask', issueInfo, (res) => { wx.hideLoading() if (res.data.success) { app.globalData.issueRefresh = true wx.switchTab({ url: '/pages/issueList/issueList' })

  在列表頁面時,去獲取該參數,同時利用onShow,因為onShow是每次顯示都會調用的

 onShow: function () { if (app.globalData.issueRefresh) { this.onPullDownRefresh() app.globalData.issueRefresh = false } },

 


免責聲明!

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



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