小程序页面传参报错及解决

1:页面跳转时传递字符串参数

 wx.navigateTo({
            url: '/my/nickname/nickname?nick= '+this.data.nickname,
        })

在接收的js文件中获取数据

2:页面跳转时传递对象 报JSON.parse (<anonymous>)错误时解决如下

  var queryBean = JSON.stringify(e.currentTarget.dataset.item)
  console.log(queryBean);
  wx.navigateTo({
    url: '/my/authorization/authorization?queryBean='+queryBean,
  })

先通过JSON.stringify转成字符串,

在接收的js文件中获取

onLoad: function (options) {
        var queryBean = JSON.parse(options.queryBean)
        this.setData({
            item: queryBean
        })
        console.log(this.data.item);
 
    },

3:页面跳转的时候传递集合(数组)

 let queryBean = JSON.stringify(res.devicesList)
                console.log(queryBean);
                wx.navigateTo({
                  url: '/home/shareDevice/shareDevice?queryBean='+encodeURIComponent(queryBean), 
                 
                })

也是先用json转成字符串,但是传递的时候要encodeURIComponent编码

在接收的js文件中还需要解码decodeURIComponent:

 let listData  = JSON.parse(decodeURIComponent(options.queryBean))
        this.setData({
            list: listData
        })

这个list就是新页面用老装数据的了。

 onLoad: function (options) {
        console.log("ss=>"+options.nick); 
        this.setData({
             nickname :options.nick
        })
    },
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值