微信小程序跳转微信小程序传参

1.背景:

在某些情况下,需要使用到微信小程序间的跳转携带参数。例如:小程序A跳转到小程序B,小程序A是北京的数据,跳转到小程序B(B默认的是西安的),此时就需要将A的北京的城市传给B,让B的信息也切换为背景的才对,此时就需要把小程序A的城市信息通过小程序跳转的方式传给B小程序。

2.参数携带有两种:

(1)path方式(参数拼接到路径中通过 ? 或者 & 进行拼接,和pc段类似,然后对路径进行解析,获取携带参数,此法官网api中也有说明,详情见官网)。

(2)extraData方式(跳转的path正常写,需要传递的参数按照官网规则写在扩展数据中,在另一个页面中获取即可,详情见官网)。

3 效果

3.1 实现方式和打印结果:

3.2 以上(3.1)为开发版,第一次跳转时没打印出来query里通过path携带的参数,但是referrerinfo.extraData.city可以打印出来。但是官网api确实是这样写的,应该是没问题可以拿到的,然后我返回之后又打印了一次,发现打印出来了,然后猜测是不是腾讯的问题,我把envVersion改为release(正式版),同事新发一个B小程序,通过手机调试,发现是可以的。(可能这个路径带参的方式,只适用于正式版而不适用于开发版,截止20200630是这样的)。

4.说明:

4.1其实还是比较推荐使用路径带参的方式,对于小程序的跳转(小程序内部跳,小程序分享,扫码进入小程序,小程序跳转小程序)这些方式,对于携带参数(例如城市),一般会在app.js中做统一处理,一般会在app.js的onshow中获取options。

4.2 对于这种(类似于城市),这种全局的参数,一般会在外部传入后修改全局的,外部有传入且不为空就使用,否则使用缓存中的值。

猜你喜欢

转载自blog.csdn.net/hangGe0111/article/details/107063044