uni app项目中实现vue和html通信

2023-05-16

vue实现

web-view 是一个 web 浏览器组件,可以用来承载网页的容器,会自动铺满整个页面.
个人业务(需要实现一个本地的html文件的内嵌),由于web-view是自动铺满整个页面的(个人觉得有点坑,目前好像还没有解决这个问题,不能局部内嵌)在这里插入图片描述
实现效果如下(该图片由模拟器生成):

关于k线的实现,uni app 插件库里有对应的插件,尝试使用是很好用的,代码也相对明了,容易理解。由于web-view是铺面整个页面的,所以其他的一些功能按钮是需要自己重新进行编写的,比如底部的按钮以及头部的显示。
使用过uni app 的应该知道,uni app 在page.js是可以设置头部的显示的,也就是图片中的....基金一号,但是由于web-view整体内嵌,这个头部的标题由html文件的title属性来决定,所以需要通过vue和html的传递来实现两个界面之间的联系,vue和vue界面之前传递可以通过url传递参数,vue和html之间当然也是可以的

vue界面与html之间的通信

其实网上是有些插件可以用的,但是可能自己不太聪明,一直没法调试成功,就只能自己单独解决了

  • 首先导入js,这是必须的
<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
  • 获取按钮来进行跳转(个人觉得直接使用地址来传递参数是很方便的,官方说的是使用uni.postMessage,但是存在的问题是退回时才可以拿到数据,我尝试后也的确是这样,就干脆使用自己喜欢的方式了,实际证明是可以成功的)
document.addEventListener('UniAppJSBridgeReady', function() {
		document.getElementById("组件id").addEventListener("click", function(){
			setTimeout( () => {
			uni.navigateTo({
				url:"跳转地址+参数"
				})
			}, 500);
		});
  • 获取vue传递过来的参数,同样使用url进行传参,如果传递的参数存在中文,一定要记得先编码encodeURIComponent(),html拿到后再进行解码,不然就是一堆乱码,decodeURIComponent()进行解码,代码中已经加进去了,可以直接使用
function GetQueryString(name){
		 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
		 var r = window.location.search.substr(1).match(reg);
		 if(r!=null)return  decodeURIComponent(r[2]); return null;
	}
  • 由于纯html渲染数据有点麻烦,可以直接引入vue,用vue进行渲染
  • 根据url传递过来的参数值修改title
 document.title = 获取的参数值

上代码:

<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
	<script src="https://cdn.jsdelivr.net/npm/vue"></script>
	<script type="text/javascript">
	document.addEventListener('UniAppJSBridgeReady', function() {
		document.getElementById("buy").addEventListener("click", function(){
			setTimeout( () => {
			uni.navigateTo({
				url:"../../work-detail/work-2/workpage?symbol="+symbol
				})
			}, 500);
		});
	    document.getElementById("sell").addEventListener("click", function(){
	    	
	    	setTimeout( () => {
	    	uni.navigateTo({
	    		url:"../../work-detail/work-2/workpage?symbol="+symbol
	    		})
	    	}, 500);
	    });
	    uni.getEnv(function(res) {
	        console.log('当前环境:' + JSON.stringify(res));
	    });
	});
	
	function GetQueryString(name){
		 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
		 var r = window.location.search.substr(1).match(reg);
		 if(r!=null)return  decodeURIComponent(r[2]); return null;
	}
	var symbol = GetQueryString('symbol')
	var price = GetQueryString("price"); 
	var low = GetQueryString("low"); 
	var high = GetQueryString("high"); 
	var amount = GetQueryString("amount"); 
	var change = GetQueryString("change"); 
	var cnyPrice = GetQueryString("cnyPrice"); 
	var app = new Vue({
	  el: '#head_container',
	  data: {
	    price: GetQueryString("price"),
		low :GetQueryString("low"),
		high :GetQueryString("high"),
		amount : GetQueryString("amount"),
		change : GetQueryString("change"),
		cnyPrice : GetQueryString("cnyPrice"),
	  }
	})
	document.title = symbol;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uni app项目中实现vue和html通信 的相关文章

  • 强制 PayPal 始终请求信用卡信息而不是登录表单?

    我们的网站采用贝宝付款标准 当用户在我们的网站上填写他们的请求并按下 PayPal 按钮 立即购买 时 我们会将所有变量提交给 PayPal 以便他们可以处理付款 对于那些以前从未使用过贝宝并通过我们的网站付款的用户来说 它运行得非常好 因
  • 如何使用正则表达式进行正确的输入验证?

    我想让用户只输入整数或浮点数 现在我只能输入整数 它允许输入点或逗号 无法找到正确的正则表达式来验证整数和浮点数
  • 如何将水平 ul 列表中的项目与图像垂直对齐?

    我有以下 html 代码 div ul li a href index php site login About a li li a href index php site login FAQ a li li a href http twi
  • Firefox(仅限)动态表单操作不起作用

    控制台为操作属性返回空白 我已经移动了 file upload attr action io cfm action updateitemfile item id agenda modal attr data defaultitemid 周围
  • Bootstrap 4:卡片作为具有相同高度和宽度的网格

    我正在尝试在具有相同高度和宽度的网格中订购卡片 这些卡片将有不同的内容和不同的尺寸 每行也应该有 3 个 每行的高度可以不同 但 行内的高度应该相同 整个网格中每张卡片的宽度应该相同 div class container div clas
  • z-index 属性到底如何工作?

    如何z index实际上工作吗 它是否对未指定的元素起作用position 它是否支持具有指定的元素 即将它们放在顶部 position 像这样的数字必须是负数吗 div below div div less below div div o
  • 元素上的框阴影行为

    Update 在我提交错误报告后 https bugs chromium org p chromium issues detail id 763337 https bugs chromium org p chromium issues de
  • 使用 MailTo 链接,我可以向发件人发送副本吗?

    我们开发了一个非常简单的表单 一旦提交 就会填充一封电子邮件以发送支持票证 这些电子邮件目前发送给我们的 支持人员 但如果我们也能向发件人发送一份副本 那就更理想了 我们正在使用 mailto 链接 这可能吗 例如 我们的员工 Brad 填
  • 如何使表格单元格的最小宽度为 3 位数字?

    如何使表格中的每个单元格的最小宽度为 3 位数字且不会更大 现在我正在硬编码min width 但我不喜欢硬编码一个值 因为我将来可能想更改字体 如果需要Javascript也没关系 table border 1 tr td 1 td td
  • Iphone safari 无法在键盘打开时调整视口大小

    当键盘弹出时 Mobile safari 不会更新 window innerHeight 至少在9 3 5中 并且有几个答案 例如this https stackoverflow com a 17604856 2423187一 有评论说在
  • 用于移动 Web 应用程序的带有图表的框架

    我正在开发一个移动网络应用程序 我需要在饼图中表示一些数据 但是我没有找到任何好的框架来提供良好的选择并在移动设备上正常工作 我想知道一些框架 免费 这可以帮助我 如果您能给出一些基础示例 我会感到惊讶 我正在考虑使用 ajax 技术来显示
  • 拒绝在框架中显示“https://www.youtube.com/watch?v=oKZRsBjQJOs”,因为它将“X-Frame-Options”设置为“sameorigin”

    我需要将来自 youtube 的视频放置在我的网站中 但 URL 是一个变量 我创建了一个可以放置的管道 但不起作用 这是我在 HTML 文件中的代码 我的管道的代码是这样的 export class VideoPipe implement
  • onclick 调用 hide-div 函数不起作用

    我一直在与这段简单的代码作斗争 我正在尝试使用
  • HTML5 游戏到本机应用程序 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在用 HTML5 制作游戏 我最熟悉 HTML5 并且比 C 等更高级的语言更喜欢它 HTML5
  • 使用“SVG 多边形”悬停状态在“SVG”之后淡入 div

    有没有一个只用CSS来解决这个问题的方法 我希望能够在 SVG 之后淡入 div 但前提是用户将鼠标悬停在 SVG 多边形上 代码看起来像这样
  • html 文件上传的默认文件夹和文件名

    我正在使用 jQuery Ajax 插件将图像文件从本地计算机上传到网络服务器 该网页呈现一个标记为Upload Image File 用户按下按钮并从浏览器显示的弹出目录列表中选择要上传的文件 服务器上的 PHP 存储图像文件 一切正常
  • 如何将 TextArea 放入表 td 中?

    我想放置一个textarea内表td 不幸的是 它仍然是单行的 td align right valign top td td td
  • 将文本数据作为表单中的文件发布

    是否可以从 html 表单中发布一些作为文件输入类型的字符串的 XML 数据 情况是我有一个像这样的表格 form action target php method post enctype multipart form data gt
  • 防止文本环绕浮动图像

    我目前有一个向左浮动的图像 以及位于其右侧的一段文本 该文本块当前不是浮动的 它只是位于 HTML 中的图像之后 因此 当它变得更长时 它最终会踢到图像下方的左侧以继续 如何才能使文本块始终保持在图像的右侧 以便图像和文本的行为就像两个并排
  • IE8 和怪异模式

    IE8 是否像 IE6 7 一样以怪异模式运行 我有一个网页 其中有一些非常奇怪的代码 内容以填充和负边距居中 它在 IE6 7 和其他浏览器中可以正常工作 但在 IE8 中 内容区域的宽度只有一半并且不居中 怪异模式的标志 源代码在 DO

随机推荐

  • 创建Maven项目时候弹出setup maven plugin connection解决方案

    今天创建一个maven项目的时候弹出了setup maven plugin connection xff0c 然后有两个选择 xff0c 我们直接选择auto select继续下一步 xff0c 然后等待一下 xff0c 把此页面关掉 然后
  • 基于BERT的知识库问答系统(KBQA)

    基于BERT的知识库问答系统 xff08 KBQA xff09 简介 知识库问答系统主要要做的两点分别是识别问题中的实体和提取问题中我们需要从知识库中查找的属性 xff0c 针对这两个方面我采用了NLP预训练模型BERT分别训练了基于BER
  • libc6-dev : 依赖: libc6 (= 2.23-0ubuntu3) 但是 2.23-0ubuntu10 正要被安装

    无法安装libc6 dev 如果出现下面错误 xff1a 在装libc6 dev时下列的软件包有不能满足的依赖关系 xff1a libc6 dev 依赖 libc6 61 2 23 0ubuntu3 但是 2 23 0ubuntu10 正要
  • VScode使用sftp远程修改文件

    一 下载插件 二 创建任意一个文件夹 sftp插件是在文件夹下生效的 因为你要在文件夹下进行sftp的配置 以及打开远程文件 三 配置远程连接配置 快捷键 Ctrl 43 Shift 43 P 打开config span class tok
  • iOS 上接入Lottie动画 接入Json动画

    iOS设备上的动画借助官方SDK xff1a CoreAnimation那一套已经比较强大了 xff0c 基本上的动效都能实现 xff0c 就是1 开发这边比较累 xff1b 2 安卓那边也比较累况且 俩平台最后展示的可能有些细节还不一样
  • 安装pysyft联邦框架和pysyft代码案例

    pysyft联邦框架 1 新建虚拟环境2 安装pysyft3 安装jaxlib4 安装完成5 安装结果测试6 注意事项7 pysyft框架联邦案例8 一些优秀教程9 报错解决办法 1 新建虚拟环境 由于pysyft和pytorch之间有版本
  • Ps1终端提示符的参数设置

    1 了解PS1 PS1 61 u 64 h W PS1的常用参数以及含义 d xff1a 代表日期 xff0c 格式为weekday month date xff0c 例如 xff1a Mon Aug 1 H xff1a 完整的主机名称 h
  • Python3 实现简单的生命游戏

    Python3 实现简单的生命游戏 生命游戏是英国数学家约翰 何顿 康威在1970年发明的细胞自动机 生命游戏原理 细胞自动机 xff08 又称元胞自动机 xff09 xff0c 名字虽然很深奥 xff0c 但是它的行为却是非常美妙的 所有
  • 图论

    图是数据结构和算法学中最强大的框架之一 xff08 或许没有之一 xff09 图 xff08 graph xff09 并不是指图形图像 xff08 image xff09 或地图 xff08 map xff09 通常来说 xff0c 我们会
  • 【Python】【Pygame】游戏:抓球

    来源 xff1a Python编程 从入门到实践 13 5 14 1 14 2 我感觉这个题目继续学习还可以优化 xff0c 是一个不错的小游戏 等我学了记分再来继续改进 抓球 xff08 13 5 xff09 碗在底部左右移动 xff0c
  • Linux MariaDB 主从复制

    安装MariaDB 安装MariaDB教程 主从复制 搭建主从复制数据库不能先建数据库 xff0c 有数据库 xff0c 需要先删除 xff01 xff01 xff01 Master主数据库 主从复制详细参数列表 主服务器MariaDB的
  • Linux MariaDB使用OpenSSL安装SSL证书

    进入到证书存放目录 xff0c 批量删除 pem证书 警告 xff1a 确保已经进入到证书存放目录 find span class token punctuation span span class token operator span
  • Windows Server 2016创建用户、授权、其他用户远程登录、禁止/恢复administrator远程登录

    创建用户和授权管理员 win 43 s搜索控制面板 用户账户 更改账户类型 添加用户账户 完成 更改账户类型 管理员 更改账户类型 允许其他用户远程登录 win 43 s搜索高级系统设置 远程 远程桌面 允许远程连接到此计算机和勾选仅允许运
  • 使用kotlin扩展插件/依赖项简化代码(在最新版本4.0以后,此插件已被弃用,故请选择性学习,以了解为主。)

    1 添加取代findViewById XXX 的插件 xff1b id 39 kotlin android extensions 39 取代findViewById XXX 可以在kotlin代码中直接使用View上的控件id 2 扩展插件
  • 华为Fusion Compute通过存储LUN快照恢复数据

    上一篇博客里边写到了VMware虚拟化通过存储LUN快照恢复数据 xff0c 在里边提到华为虚拟化和其他KVM有区别 xff0c 这是真的血泪史呀 事情是这样的 xff0c 一个客户用的华为云桌面 xff0c 就是普通架构 xff0c 传统
  • 【转】ubuntu linux取消软件密码环和取消输入开机密码

    所用版本 xff1a ubuntu18 xff08 亲测16也成功了 xff09 取消软件密码环 win键打开菜单 gt 搜索pass word gt login选项 gt 右键删除某个密码环 转自 https www cnblogs co
  • 2_3-numpy-cnn-mnist手写数字识别

    numpy实现神经网络系列 工程地址 xff1a https github com yizt numpy neuron network 基础知识 0 1 全连接层 损失函数的反向传播 0 2 1 卷积层的反向传播 单通道 无padding
  • python获取threading线程返回结果

    python获取threading线程返回结果 span class token keyword class span span class token class name MyThread span span class token p
  • ADX的计算方式

    平均趋向指数是衡量趋势的技术工具 xff0c 简称ADX average directional indicator xff0c 它是由韦尔斯 怀尔德在1978年提出 xff0c 与其他技术分析工具不同的是 xff0c ADX并不能判断多空
  • uni app项目中实现vue和html通信

    vue实现 web view 是一个 web 浏览器组件 xff0c 可以用来承载网页的容器 xff0c 会自动铺满整个页面 个人业务 xff08 需要实现一个本地的html文件的内嵌 xff09 xff0c 由于web view是自动铺满