uni-app H5使用web-view父子之间的相互传值

  • 遇到的问题:
  • uni-app页面代码
  • web-view(HTML页面),子组件接收父组件数据,子组件传值给父组件

遇到的问题:

  • uni-app 使用uParse组件无法将富文本页面的样式显示完整,比如图片大小的问题,部分复杂样式无法显示,所以使用web-view 组件来展示富文本数据

uni-app页面代码

<template><view class="container_box"><web-view  ref='webView' :src="viewUrl" ></web-view></view>
</template><script>import {articelInfo} from "@/api/homepage"export default {data() {return {viewUrl: "/hybrid/html/index.html",}},onLoad(option) {console.log('route', this.$route)if (option.id) {this.id = option.id//简单的传值 可以放在链接上this.viewUrl="/hybrid/html/index.html?id="+this.id; }this.get_articelInfo()},mounted() {//父组件接收子组件的内容// #ifdef H5 let _this = this;window.addEventListener('message', event=> {console.log("父页面:",event);if(event.data.even=='previewFile') {_this.previewFile(event.data);}},false)// #endif },destroyed() {uni.removeStorageSync("articelInfo");},methods: {get_articelInfo() {//省略数据查询。。。。const articelInfo={even:'articelInfo',id:id,updateUser:updateUser,title : title ,createTime : createTime,enclosure:enclosure,author : author,visits :"阅读" + " " + visits,publishTime: parseTime(publishTime, "{y}-{m}-{d}"),updateTime : updateTime,updateUserName : updateUserName,createUser : createUser,content:content.replace(reg, 'video').replace(/< img [^>]*/gi, (match, capture) => {return `< img style="max-width: 100%" />`}),}//查到数据之后,将数据传到子组件window.frames[0].postMessage(articelInfo,"*")}})},}}
</script>

web-view(HTML页面),子组件接收父组件数据,子组件传值给父组件

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /><title>{{articelInfo.title}}</title><script src="./js/vue@2.js"></script></head><body><div id="view-vue" class="container_div content" v-if="articelInfo.id != null">省略内容<div v-html="articelInfo.content"></div></div><script>new Vue({el: '#view-vue',data: function() {return {articelInfo: {id: null},}},mounted() {//子组件监听父组件传过来的数据window.addEventListener('message', (event) => {console.log("子组件收到消息:", event)if (event.data.even == 'articelInfo') {this.$nextTick(function() {this.$set(this, 'articelInfo', event.data);})}}, false);},methods: {//点击事件向父组件传值clickFile(item) {item.even = "previewFile";if (window.parent) {window.parent.postMessage(item, '*');}},}})</script></body>
</html>

uni-app H5使用web-view父子之间的相互传值相关推荐

  1. uni App+H5 实现人脸识别

    uni App+H5 实现人脸识别 通过h5的视频video管理设备摄像头(不要关),在打开视频摄像时快照截取人脸照片传送到后台通过API接口调用百度人脸识别结果并通过返回数据解析自己业务需求. 1. ...

  2. uni app(H5)中软键盘弹出,固定定位绝对定位元素位置发生错乱

    一.问题如下 最近用uni app写项目,发现H5软键盘弹起,导致我固定定位的按钮被顶了上去,如图 二.解决方法 1.让其在输入框获取焦点时隐藏 百度了许多,有让输入框获取焦点时让按钮隐藏的方法,失去 ...

  3. uni.app H5(微信公众号定位) uni.getLocation

    最近在开发公众号,由于之前经常使用uni,app写APP,索性就用uni.app来开发公众号了, 不过也遇到了一个问题,就是在公众号的首页要获取用户的定位.我看了看官网的API 有个uni.getLo ...

  4. webview传递参数给html,uniapp与webview之间的相互传值

    1.uni-app 如何发送数据到 H5? 其实很接单.在 web-view 中只需要通过 URL 就可以向 H5 进行传参 例如在 uni-app 中: export default { data( ...

  5. 为自己搭建一个鹊桥 -- Native Page与Web View之间的JSBridge实现方式

    原文:为自己搭建一个鹊桥 -- Native Page与Web View之间的JSBridge实现方式 说起JSBridge,大家最熟悉的应该就是微信的WeixinJSBridge,通过它各个公众页面 ...

  6. App server 与 Web server之间的区别

    原文: http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html app服务器和web服务器的区别是什么呢? 简单来 ...

  7. 省钱兄同城跑腿小程序源码uniapp前端模版源码(小程序+APP+H5)

    开源省钱兄同城跑腿源码,目前只开源用户端V2版本部分核心模块源码提供学习研究 使用uniapp技术,提供学习使用不可商业 适配支持公众号+APP+H5+小程序,使用Hbuilder导入即可运行 #功能 ...

  8. web页面判断是否安装某app,从web启动app应用

    web页面判断是否安装某app,从web启动app应用 web页面判断手机里是否安转应用的原理就是:首先试着打开手机端某个app的本地协议:如果超时就转到app下载页,下载该app. URL sche ...

  9. uni app实现WIFI功能(只支持安卓APP)

    uni app实现WIFI功能 一.前言 二.使用 uni-WIFI 三.使用h5+ api 一.前言 最近需要在uniapp上实现WiFi功能,将个人的研究结果记录如下(都只支持安卓APP) 使用 ...

最新文章

  1. 转载:Ununtu下中文乱码解决方案
  2. 给正在为就业苦恼的应届生
  3. Swin Transformer对CNN的降维打击
  4. postgresql点云las_点云模型_点云模型_模型_时空数据库_PolarDB PostgreSQL 云原生数据库 - 阿里云...
  5. java取网页源码_Java获取任意http网页源代码的方法
  6. Hadoop集群(第2期)_机器信息分布表
  7. JAVA基础——IO流字节流
  8. C#项目中的bin目录和obj目录的区别,以及Debug版本和Release版本的区别(转载)...
  9. 复杂网络理论及其应用-基本概念
  10. 7教程统计意义_极少人知道的SPSS数据拆分技巧——「杏花开生物医药统计」
  11. docker以外的构建、运行、管理和分发容器候选项
  12. 03.计算机网络--- 网络层、IP协议、手工配置IP地址
  13. Openstack 网络模块
  14. Python实现迷宫游戏
  15. 培训机构让考java证书有必要吗在线等
  16. Fedora修复grub2启动项grub rescue
  17. 关于商业企业创业的思考
  18. 使能树莓派无线上网和SSH登录
  19. visio使用小知识
  20. python爬虫学习笔记分析Ajax爬取果壳网文章

热门文章

  1. 阿里云生成支付二维码并支付前端实现
  2. 戴尔7400笔记本WIN10蓝牙突然不见了,高通QCA61X4A无线网卡
  3. java接口测试解析soap_使用SOAPUI作为服务端测试soap接口(WSDL)
  4. 离散数学实验-01 可简单图化,连通图和欧拉图的判断(利用Fleury算法输出欧拉回路)
  5. 一个完整的react-native框架代码demo,供大家下载学习
  6. 使用VC2008开发OCX
  7. 「搜卡之家」物联卡激活步骤图片详解,望大家收藏!
  8. 解决问题过程记录: QuickTime初始化失败
  9. 【夯实基础 】 js获取的clientHeight、offsetHeight和scrollHeight的区别
  10. anylogic系统动力java工具_AnyLogic Professional 8.7  最新授权