微信小程序 - wx.navigateTo({}) 跳轉頁面攜帶 對象/數組/復雜數據 參數(攜帶一
發表時間:2020-10-19
發布人:葵宇科技
瀏覽次數:81
前言
你可以理解為:攜帶一個 復雜對象數據 參數,實現跳轉頁接收。
在微信小程序,使用 wx.navigateTo({})
API 攜帶參數跳轉頁面很常見,但是今天有一個需求,需要攜帶一個復雜的數據,它是一個數組,里面嵌套了 N 個對象,對象里還有數組。
解決方案
使用 JSON
對象的兩個方法:
- JSON.strtingify:將
object
轉化為字符串 - JSON.parse:將字符串解析為
object
。
/*
* [發送參數]
* 將對象解析為字符串
*/
wx.navigateTo({
url: '/pages/index?data=' + JSON.stringify(object),
})
/*
* [接收參數]
* 將字符串解析為對象
*/
this.setData({
data: JSON.parse(options.data)
})
注意事項
您需要格外注意 第一條 ,如果有圖像鏈接,那么必定觸發了,請按照教程解決。
- 如果轉化的字符串中 有
"?","&"或"="
等這樣的符號,則只會傳遞符號以前的字符串,符號后面數據會被丟失,這個問題我猜想可能是小程序內部的路由處理 對這些符號敏感吧。所以有時候這里可以先用encodeURIComponent()
進行轉碼,在目標頁面再用decodeURIComponent()
解碼,這樣就可以避免數據丟失了。如果你看不懂,請訪問 詳細代碼教程! - 不要將參數
object
先使用變量存起來然后進行傳遞,這樣寫接收的時候可能無法解析成功。