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

发布于 8 年前作者 fang71870 次浏览最后编辑 8 年前来自 ask

小程序页面跳转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 回复
dongfang
dongfang1 楼5 年前

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

2.传输前用 encodeURIComponent 进行编码

3.接收时用 decodeURIComponent 进行解码

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

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

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

xiulandeng
xiulandeng2 楼5 年前

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

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

events不好吗?

wzhu
wzhu4 楼5 年前

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

na65
na655 楼5 年前

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

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