小程序页面跳转url携带参数,参数能否为{{"a":1,"b":2}}这种对象类型?
发布于 6 年前 作者 fang71 710 次浏览 来自 问答

小程序页面跳转url携带参数,参数能否为{{“a”:1,“b”:2}}这种对象类型?

<navigator url="../network/pull-refresh/pull-refresh?detail={{detail}}" open-type="navigate"class="uploader-text">

detail:{ "a":'路由传递的参数',"b":2, },

5 回复

1.先用JSON.stringify() 转成字符串

2.传输前用 encodeURIComponent 进行编码

3.接收时用 decodeURIComponent 进行解码

4.用JSON.parse() 转成对象

====================

用wx.setStorageSync和wx.getStorageSync不香吗?

navigator 组件恐怕不行,参考一下写法:

wx.navigateTo({
  url: "../network/pull-refresh/pull-refresh?detail=" + encodeURIComponent(JSON.stringify(this.data.detail))
})

events不好吗?

可以, 先JSON.stringify(detail)把对象转成字符串, 拿到字符串后通过JSON.parse()解析回来

原则上应该可以,我用过数组。

实在需要用对象的话,用bindtap,写函数比较稳妥。

回到顶部