微信小程序开放能力web-view使用之h5页面与小程序页面交互传值

 功能需求是:点击图一(图一是使用web-view内嵌的h5网页)的按钮,跳转小程序中的一个页面,其中第二个页面的所有数据都是从图一传过来的。

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第1张图片

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第2张图片

这个问题,首先我是看的官方文档,官方文档是这样写的:

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第3张图片

但是看了之后有点不明白是什么意思,在什么情况下用,然后我就去百度,百度:web-view如何从h5页面传值给小程序 ,又或者微信小程序与h5页面交互传值等等等等,百度了好多,但大多数告诉我的都是使用这个bindmessage和postmessage,使用方法就是在h5页面postmessage,h5页面:

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第4张图片

在小程序中如下:

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第5张图片

然后就是在index.js中:

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第6张图片 

这样做了之后确实是能传过来,但是每次都要先点一次转发,才能接收到值,而且还不是实时的,那这样的话怎么用? 我总不能要求我的用户每次使用功能之前都点转发?????

————————————————————————————————————————————————————————以上全是坑,可能这个bindmessage并不是这样用的,但是说实话以我这个小白的水平暂时还不知道他的真正用处是什么。废话不说了,其实实现这个传值只需要使用最传统的url传参就可以了。以下是实现这个传值的正确做法:

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第7张图片

 这里传值和接收时都使用了JSON的两个方法,是因为我的参数是对象数组,不是用的话接收时候全部是object

 小程序:

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第8张图片

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第9张图片

微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第10张图片 

下面这个是h5页面接收小程序的参数:

 微信小程序开放能力web-view使用之h5页面与小程序页面交互传值_第11张图片

OK,现在h5和小程序双向交互传值就实现了,希望对大家有帮助。 

你可能感兴趣的:(前端)