美文网首页
微信小程序路由曲线传参

微信小程序路由曲线传参

作者: 谢大见 | 来源:发表于2019-02-22 15:56 被阅读0次

    普通页面传值

    wx.navigateTo({
      url: 'test?name=xiedajian',       //  路径后可以带参数 如 'path?key=value&key2=value2'
      success:Function,     // 接口调用成功的回调函数
      fail:Function,        // 接口调用失败的回调函数
      complete:Function,        // 接口调用结束的回调函数(调用成功、失败都会执行)
    })
    
    //test.js
    Page({
      onLoad: function(option){
        console.log(option.name)    // 参数name
      }
    })
    

    Tip:上面的方式只能传字符串,需要是对象,数组,需要用 JSON.stringify() 转成字符串传递,

    曲线传参

    曲线传参方法1:getCurrentPages()
    曲线传参方法2:全局变量传参
    曲线传参方法2:缓存传参

    全局变量,缓存的形式不用详细讲。原理很简单,就是上页存值,下页取值,不再细说

    详细讲下利用 getCurrentPages() 曲线传值

    getCurrentPages() 曲线传值

    var pages = getCurrentPages();
    var prepage = pages[pages.length-2];    // 当前页面的上一页
    
    var data = prepages.data.name;      // 获取到上一页的data的子值
    

    Tip:通过这种就可以获取上个页面的数据,数组对象都可以。

    也可以用这种方式来进行 返回上一页的时候向上一页传值,原理是通过调用上一页的setData来改变上一页的值

    prepages.setData({
        name:'xiedajian'
    });
    // 不要直接改prepages.data.name ,用setData,这个不用多解释
    

    更多用途

    • 返回上一页时向上页传参

    切换tab页面的时候没办法直接传参,只能采用全局变量的方式获取缓存的方式曲线传值

    相关文章

      网友评论

          本文标题:微信小程序路由曲线传参

          本文链接:https://www.haomeiwen.com/subject/gwpeyqtx.html