uniapp使用Echarts图表H5显示正常 打包app显示异常

news2024/11/16 20:23:23

uniapp使用Echarts在H5页面调试 调试完在H5正常显示 然后通过安卓机调试的时候 发现直接空白了 还有这个爆错 Initialize failed: invalid dom 我有多个图表、图表是通过v-for循环出来的

解决方案

原来是yarn直接安装Echarts 然后改成本地JS文件引入
gitbub文件地址 — dist/echarts.js文件 只用到这一个js文件
在这里插入图片描述

这是一个图表

<template>
	<view class="content">
		<view :prop="option" :change:prop="echarts.updateEcharts" id="echarts" class="echarts"></view>
	</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				option: {
					xAxis: {
						type: 'category',
						data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
					},
					yAxis: {
						show: false,
						type: 'value'
					},
					series: [{
						data: [
							120,
							{
								value: 200,
								itemStyle: {
									color: '#a90000'
								}
							},
							150,
							{
								value: 20,
								itemStyle: {
									color: '#00aa00'
								}
							},
							70,
							110,
							130
						],
						type: 'bar'
					}],

					grid: {
						top: '40rpx',
						left: '0rpx',
						bottom: '40rpx',
						bottom: '40rpx',
					},

				},
			}
		}
	}
</script>

<script module="echarts" lang="renderjs">
	let myChart
	export default {
		mounted() {
			if (typeof window.echarts === 'function') {
				this.initEcharts()
			} else {
				const script = document.createElement('script')
				script.src = 'static/echarts.js'
				script.onload = this.initEcharts.bind(this)
				document.head.appendChild(script)
			}

		},
		methods: {
			initEcharts() {
				setTimeout(() => {
					myChart = echarts.init(document.getElementById('echarts'))
					myChart.setOption(this.option)
				})
				window.addEventListener('resize', () => {
					myChart.resize()
				});

			},
			updateEcharts(newValue, oldValue, ownerInstance, instance) {
				// 监听 service 层数据变更
				if (myChart) {
					myChart.setOption(newValue)
					window.addEventListener('resize', () => {
						myChart.resize()
					});
				}
			},
			onClick(event, ownerInstance) {
				// 调用 service 层的方法
				ownerInstance.callMethod('onViewClick', {
					test: 'test'
				})
			}
		}
	}
</script>

<style>
	.echarts {
		width: 100%;
		height: 434rpx;
	}
</style>

效果图 正常展示

在这里插入图片描述

注意

因为我是循环图表 然后发现 :prop=“item.option” 这样不能使用 通过下标三元表达式也不行 数据只能暴露在最外层

然后找了个笨方法 图表有三个 然后每一个盒子里都写三个图表 搭配v-show进行区分
在js里手动渲染 循环也不行 当然记得设置宽高

循环体内一段是这样
html

						<view v-show="index==0" :prop="option1" :change:prop="echarts.updateEcharts" id="main1"
							class="main1" style="width: 200rpx;height:100rpx"></view>

						<view v-show="index==1" :prop="option2" :change:prop="echarts.updateEcharts" id="main2"
							class="main2" style="width: 200rpx;height:100rpx"></view>

js 渲染部分

 					myChart1 = echarts.init(document.getElementById('main1'))
					myChart1.setOption(this.option1)

					myChart2 = echarts.init(document.getElementsByClassName('main2')[1])
					myChart2.setOption(this.option2)

					myChart3 = echarts.init(document.getElementsByClassName('main3')[2])
					myChart3.setOption(this.option3)

之后H5、App都正常显示了

测试数据
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1526134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大屏动效合集更更更之实现百分比环形

实现效果 参考链接&#xff1a; https://pslkzs.com/demo/pie/demo1.php 写在最后&#x1f352; 源码&#xff0c;关注&#x1f365;苏苏的bug&#xff0c;&#x1f361;苏苏的github&#xff0c;&#x1f36a;苏苏的码云

华院计算 | 意大利早期的三位女学者——历史没有忘记

意大利历史上名人很多&#xff0c;其中三位先驱女学者特别值得后人铭记。哲学家艾琳娜皮斯科皮亚&#xff08;Elena Lucrezia Cornaro Piscopia&#xff0c;1646年6月5日-1684年7月26日&#xff09;于1678年从帕多瓦大学&#xff08;Universit di Padova&#xff09;获得哲学博…

SAP MRP允许过去开始日期简介

在SAP系统中,关于“过去开始日期”的配置点,通常涉及到物料需求计划(MRP)的运行和计划订单的处理。特别是在MRP运行后,如果发现计划订单的日期不符合预期,可能需要进行相应的调整。 之前在项目中就有用户提出MRP跑出的结果不允许在过去的时间,必须要在当前日期或者在当前…

【华为Datacom数通认证】HCIA-HCIP-HCIE

华为认证课程概述 华为认证是华为技术有限公司(简称"华为")基于"平台生态"战略&#xff0c;围绕"云-管-端"协同的新ICT技术架构&#xff0c;打造的业界覆盖ICT领域最广的认证体系&#xff0c;包含"ICT技术架构认证"、"ICT开发者…

解决Could not autowire. No beans of ‘UserMapper‘ type found问题

问题&#xff1a; 解决方法1 降低spring版本 失败 解决方法2 查看数据库连接&#xff0c;无作用 解决方法3 polo&#xff0c;Mapper不在同一级&#xff0c;修改&#xff0c;但无作用 解决方法4 将Autowrited改为Autowrited(required false)&#xff0c;无作用 解决方法…

vulhub中GIT-SHELL 沙盒绕过漏洞复现(CVE-2017-8386)

GIT-SHELL 沙盒绕过&#xff08;CVE-2017-8386&#xff09;导致任意文件读取、可能的任意命令执行漏洞。 测试环境 为了不和docker母机的ssh端口冲突&#xff0c;将容器的ssh端口设置成3322。本目录下我生成了一个id_rsa&#xff0c;这是ssh的私钥&#xff0c;连接的时候请指…

人免疫球蛋白E (Human IgE) 单克隆抗体—BioPorto

免疫反应是指机体对于异己成分或者变异的自体成分做出的防御反应&#xff0c;当免疫系统对正常无害物质产生不适当反应时&#xff0c;则称为变态反应&#xff0c;即过敏。免疫球蛋白E&#xff08;IgE&#xff09;是一类与过敏反应有关的抗体&#xff0c;通常在人类血清蛋白中含…

【问题解决】AttributeError: module ‘tensorflow‘ has no attribute ‘io‘

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

滤波器自动化测试之插入损耗测试方法与标准

插入损耗是指信号通过滤波器后&#xff0c;输出信号与输入信号之间的功率差距。插入损耗包括共模插入损耗和差模插入损耗两种。插入损耗越小&#xff0c;说明滤波器对输入信号的衰减程度就越低&#xff0c;滤波器的性能就越好。作为滤波器的重要指标之一&#xff0c;插入损耗测…

广告电商模式:三方共赢的创新路径与未来趋势

随着互联网的迅猛发展和普及&#xff0c;电子商务与广告行业也在经历前所未有的变革与创新。在这样的背景下&#xff0c;广告电商模式作为一种新兴的商业模式&#xff0c;正逐渐崭露头角。它将广告与电子商务紧密融合&#xff0c;通过精准营销和用户参与&#xff0c;实现了广告…

C语言文件操作 w模式

先上菜 #include<stdlib.h> #include<stdio.h> int main() { FILE* pfWrite fopen("test.txt", "w"); if (pfWrite NULL) { printf("%s\n", strerror(errno)); return 0; } //写文件 fputc(b…

Odoo17免费开源ERP开发技巧:如何在表单视图中调用JS类

文/Odoo亚太金牌服务开源智造 老杨 在Odoo最新V17新版中&#xff0c;其突出功能之一是能够构建个性化视图&#xff0c;允许用户以独特的方式与数据互动。本文深入探讨了如何使用 JavaScript 类来呈现表单视图来创建自定义视图。通过学习本教程&#xff0c;你将获得关于开发Odo…

xiaohongshu Shield 8.27

支持自己传输 xy-ter-str, 进行设备绑定计算 也支持自动请求初始化设备&#xff0c;无需 xy-ter-str 传输参数&#xff1a;url , xy-platform-info, xy-common-params,device_id 以及 xy-ter-str 精准计算&#xff0c;纯算法源码还原魔改算法&#xff0c;非jar 非unidbg 非调…

hash+前缀和:和可被k整除的子数组

题目 给定一个整数数组 nums 和一个整数 k &#xff0c;返回其中元素之和可被 k 整除的&#xff08;连续、非空&#xff09; 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1&#xff1a; 输入&#xff1a;nums [4,5,0,-2,-3,1], k 5 输出&#xff1a;7 解释&#x…

VBA技术资料MF131:代码执行过程中实现毫秒等待

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

WordPress上传大于 2560 像素的图片文件

本周有一个Hostease客户&#xff0c;购买美国Linux主机创建WordPress站点&#xff0c;在WP后台上传图片&#xff0c;遇到错误信息&#xff0c;联系我们问询解决方案。Linux主机提供cPanel面板&#xff0c;集成一键安装WordPress与建站。接下来&#xff0c;我们分享这个问题的解…

【云呐】固定资产管理系统的功能有哪些?管理工具

为了提高经营效率&#xff0c;降低企业成本&#xff0c;许多企业选择固定资产管理系统。那么&#xff0c;固定资产管理系统有什么作用呢&#xff1f; 资产登记&#xff1a;  固定资产管理系统可以方便地登记公司的固定资产&#xff0c;包括资产名称、规格型号、购买日期、使…

(done) 解释 python3 torch.utils.data DataLoader

特别注意&#xff1a;DataLoader 返回的迭代器是无尽的&#xff0c;依据如下 (CHATGPT3.5) DataLoader 返回的迭代器默认情况下是无尽的&#xff0c;因为它会无限地循环遍历数据集&#xff0c;以提供批量的数据。在训练神经网络时&#xff0c;通常会使用无尽的迭代器来循环遍历…

测试工具分享:高效完成测试工作!

说在前头 在社会上&#xff0c;特别是技术圈&#xff0c;大家会有刻板印象&#xff1a;测试工作的含金量不高。因为大家觉得测试不重要&#xff0c;导致给测试的薪水也偏低&#xff1b;这又反向导致好的人才不想来测试行业&#xff0c;测试从业人员的平均水平、工作体现的价值…