方法1:在跳轉地址上面寫上參數,如:A頁面要跳轉到B頁面,向B頁面傳遞參數key,之是woaixuexi,
<navigator open-type="navigateTo" url="../../b/b?key=woaixuexi" />
路由后的頁面會觸發生命周期函數onLoad, onShow,其中onLoad會有一個參數,options,類型是對象。接收到的參數名,是這個對象的其中一個key,而傳遞的參數就是這個key的值。
/** * 生命周期函數--監聽頁面加載 */ onLoad: function (options) { console.log('這個是通過在路由上面加參數來獲得的:\n' + options.url); }
方法2:綁定元素的tap事件,在路由頁面前,執行一段js代碼,將要傳遞的參數存進緩存,注意:到了新頁面后,記得將緩存清掉。代碼如下
路由之前的頁面,A.wxml
<button bindtap="btnClick" >跳轉</button>
A.js
/* 將key存入緩存*/ btnClick:function(){ try { wx.setStorageSync('h5Url', 'woaixuexi'); } catch (e) { console.log(e); } //調用路由api wx.redirectTo({ url: '../b/b, }) }
B.js
onLoad: function (options) { var key = (function () { /* 獲取緩存中的key,獲取完之后記得立即清除緩存 */ var key = ''; wx.getStorage({ key: 'key', success(res) { console.log(res.data); key= res.data; } }) /* 清除緩存,獲得之后,以免出現問題。 */ try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error console.log(e); } return key; }()); console.log('這個是通過緩存獲得的' + key); }