微信小程序web-view嵌套H5,小程序与H5通信

小程序向H5发送信息:

小程序端代码:

webView /index.wxml

html 复制代码
 <web-view 
    key="{{webViewKey}}"  
    src="{{shoppingUrl}}" 
    bindload="onWebViewLoad"
    binderror="onWebViewError"
  />
javascript 复制代码
     that.setData({
            shoppingUrl:`http://192.168.18.72:3000/mobile/pages/order/paying?orderId=${options.id}&code=${res.code}`,
            
          })

H5接收:

javascript 复制代码
  onLoad(options) {
 if(options.code){
            console.log("微信小程序携带code跳转过来的",options.code);
                 orderId= options.orderId;
                 codeWx= options.code;
          
        }

}

H5向小程序发送信息:

H5 /pages/order/paying

javascript 复制代码
需要先引入wxSDK
	import wx from 'weixin-js-sdk';

 

wx.miniProgram.navigateTo({
                                  url:"/pages/webView/index?params="+encodeURIComponent(params1) 
                                })

微信小程序接收:

javascript 复制代码
 onLoad(options:any) {
if(options.params){
      let params1=decodeURIComponent(options.params)
     let params=JSON.parse(params1)
      that.setData({
        params:params
      })
    }

}

以上基本传递信息结束!!

如果小程序接收到H5信息之后想要跳转H5的另外一个页面,那就需要改变web-view的src,当直接赋值发现H5并没有跳转成功,所以需要加 key="{{webViewKey}}" ,改变webViewKey之后,H5可以重新渲染
代码展示:

html 复制代码
 <web-view 
    key="{{webViewKey}}"  
    src="{{shoppingUrl}}" 
    bindload="onWebViewLoad"
    binderror="onWebViewError"
  />
javascript 复制代码
 this.setData({
        shoppingUrl:`http://192.168.18.72:3000/mobile/pages/order/pay?orderId=${payInfo.orderId}&wxpay=1`,
        
      })
      this.setData({ webViewKey: this.data.webViewKey + 1 });
相关推荐
橙子家8 小时前
浏览器缓存之【基础键值存储】:Local storage 和 Session storage
前端
星星在线11 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒11 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x12 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
京东云开发者12 小时前
京东市民服务又“上新”!这次是黑龙江“龙易办”
前端
袋鱼不重13 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
m0_5261194013 小时前
iconfont我修改好颜色,但是在小程序项目是黑色的
小程序
Fireworks14 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆14 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid14 小时前
文件存储:内部存储与外部存储
前端