微信小程序,跳转到新页面,传递参数的方法。

方法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('这个是通过在路由上面加参数来获得的:
' + 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);
}
原文地址:https://www.cnblogs.com/Dmail/p/13280023.html