微信小程序之页面带参跳转

页面跳转参数传递有很多中方式,这里只说一种非常简单的。 

一、单一参数传递

第一个页面跳转代码:

  Click: function () {
    console.log("我来啦")
    let name = '传递的数据'; // 跳转传参的参数
    wx.navigateTo({ //在接收页面的url后面加上“?自定义名称=字符串”就可以通过url传值
      url: '../test2/my?name=' + '我就是要传递的数据'//此处注意中文符号与引文符号的?
    })

第二个.JS页面的接收代码:

/**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
        console.log(options.name)
        this.setData({// 把从index页面获取到的属性值赋给详情页的my,供详情页使用
          name:options.name
        })
      
  },

 在第二个WXML页面渲染出数据

<text>第二个页面的测试页</text>
<view> 显示内容:{{name}}</view>

二、多参数传递

第一个跳转页面代码:

Click: function () {
    console.log("我来啦")
    var name = '传递的数据'; // 跳转传参的参数
    var name2 = '传递的数据2';
    var name3 = '传递的数据3';
    wx.navigateTo({ //在接收页面的url后面加上“?自定义名称=字符串”就可以通过url传值
      url: '../test2/my?name=' + name + "&name2=" + name2+ "&name3=" + name3 //此处注意中文符号与引文符号的?
    })

跳转后的.JS页面中接收

/**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
        console.log(options.name)
        this.setData({// 把从index页面获取到的属性值赋给详情页的my,供详情页使用
          name:options.name,
          name2:options.name2,
          name3:options.name3
        })      
  },

跳转后的.WXML页面

<!--pages/test2/my.wxml-->
<text>第二个页面的测试页</text>
<view> 显示内容:{{name}}</view>
<view> 显示内容:{{name2}}</view>
<view> 显示内容:{{name3}}</view>

三、带参数传参长度超过限制被截取时,需要使用encode ,

例如:图片

第一个.js页面代码

// xxxx是跳转传照片的数组,先转字符串,再encode
let xxxx = posters.toString()
console.log( encodeURIComponent(xxxx))
wx.navigateTo({
  url: '../test2/my?posters=' + encodeURIComponent(xxxx)
})

第二个.js页面接收代码 

// onload接收传参数据
onLoad: function (options) {
    let xxxx = decodeURIComponent(options.posters) // 先decode再把字符串转数组
    let photo = xxxx.split(",");
    console.log(photo)
    this.setData({
      photo: photor
    })
  },

 四、switchTab无法携带参数跳转

wx.switchTab({
  url: '../test2/my'
})

 

            DEMO

                                                                         -END 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

generallizhong

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值