小程序開發中,在兩個頁面之間傳遞參數:
原理:就是把一個頁面中的xxx.js中的data:{}的變量值傳給另一個頁面中,當然,你得先把第一個頁面上的值傳給本頁面的后台
然后用如下代碼,傳給另一個頁面的yyy.js中
用到了wx.navigatorTo()方法:
如上圖,像http get請求一樣,直接在后邊寫上參數就可以
然后在新頁面的生命周期方法中寫如下代碼:(就是將上個頁面傳過來的參數,設置為當前頁面的參數)
/**
* 生命周期函數--監聽頁面加載
*/
onLoad: function(options) {
this.setData({
newsUrl: options.newsUrl
})
}
然后在新頁面中就可以直接使用{{newsUrl}]這個變量了
但是有個大坑,就是如果你傳的參數如下:
/pages/second/index?imgUrl=http://baidu.com?img=xx.jpg
時,也就是說你的路徑參數中也有參數,那么在傳過去后,就會將?后的內容丟失。請用下邊方法
- 在傳參的頁面中用
encodeURIComponent(XXX);
將你的參數編碼下- 然后在接收參數的頁面中收到后,用
decodeURIComponent(options.xxx);
解碼下
如下圖: