关于uniapp打包成app echart数据不显示的 renderjs问题

这篇具有很好参考价值的文章主要介绍了关于uniapp打包成app echart数据不显示的 renderjs问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

renderjs是一个运行在视图层的js。它比WXS更加强大。它只支持app-vue和h5。

renderjs的主要作用有2个:

1、大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力

2、在视图层操作dom,运行for web的js库

就是vue本身不支持直接通过原生JS操作DOM,于是在uniapp里,可以通过renderjs来实现逻辑层(vue的template或者说虚拟dom)与视图层(原生dom)之间的通讯,或者说操作。

注意点:
1、目前仅支持内联使用。
2、不要直接引用大型类库,推荐通过动态创建 script 方式引用。
3、可以使用 vue 组件的生命周期不可以使用 App、Page 的生命周期
4、视图层和逻辑层通讯方式与 WXS 一致,另外可以通过 this.$ownerInstance获取当前组件的 ComponentDescriptor 实例。
5、观测更新的数据在视图层可以直接访问到。
6、APP 端视图层的页面引用资源的路径相对于根目录计算,例如:./static/test.js。
7、APP 端可以使用 dom、bom API,不可直接访问逻辑层数据,不可以使用 uni 相关接口(如:uni.request)
8、H5 端逻辑层和视图层实际运行在同一个环境中,相当于使用 mixin 方式,可以直接访问逻辑层数据。

实现:本demo利用的是 klinecharts (k线图的echart)文章来源地址https://www.toymoban.com/news/detail-612194.html

父组件
<template>
	<view class="chart" style="overflow: hidden;">
		<newchart ref="newchart" :detail="detail"></newchart>
	</view>
</template>
xxxx 逻辑代码



子组件
<template>
	<view 
	:prop="historyList" :change:prop="klinecharts.updateEcharts" 
	:datas="newdatas" :change:datas="klinecharts.updatenewdatas" 
	
	ref="k-line-chart" id="k-line-chart" class="kling cb"></view>
</template>
<script>
	import {
		mapState, mapMutations
	} from 'vuex'
	export default {
		data() {
			return {
				domChart:null,
				historyList:[],
				newdatas:{},
			}
		},
		props:{
			detail:{
				
			}
		},
		onReady() {
			this.$ws.init()
		},
		computed: {
			...mapState('chart', ['categories', 'series']),
			seriesData() {
				return this.series
		
			}
		},
		watch:{
			detail(newV){
				this.$nextTick(() => {
					this.historyList = newV
				})
			},
			seriesData(newValue, oldValue) {
				this.newdatas = newValue
			}
		},
		methods:{

		}
	}
</script>
<script module="klinecharts" lang="renderjs">
	import {init} from 'klinecharts'
	import klinConfig from '@/utils/klinConfig.js' // 样式处理
	export default {
		data() {
			return {
				domChart:null,
				historyList:[]
			}
		},
		mounted() {
			const chart = init(document.getElementById('k-line-chart'))
			chart.setStyleOptions(klinConfig)
			chart.overrideTechnicalIndicator({
				name: 'MA',
				calcParams: [5, 10, 30]
			})
			
			chart.createTechnicalIndicator('MA', false, {
				id: 'candle_pane'
			})
			chart.setPriceVolumePrecision(5, 5)
			this.domChart = chart		
		},
		
		methods: {
			 updateEcharts(newValue, oldValue, ownerInstance, instance) {
				let _this = this
				this.$nextTick(() => {
					_this.domChart.applyNewData(newValue, 0);
				}) 
			},
			updatenewdatas(newValue, oldValue, ownerInstance, instance){
				let _this = this
				this.$nextTick(() => {
					//更新参数
					this.domChart.updateData({
						timestamp: Number(newValue.timestamp),
						open: parseFloat(newValue.open),
						high: parseFloat(newValue.high),
						low: parseFloat(newValue.low),
						close: parseFloat(newValue.close)
					})
					
					
				}) 
			}
		}
	}
</script>

到了这里,关于关于uniapp打包成app echart数据不显示的 renderjs问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp中打包Andiord app,在真机调试时地图以及定位功能可以正常使用,打包成app后失效问题(高德地图)

    踩坑uniapp中打包Andiord app,在真机调试时地图以及定位功能可以正常使用,打包成app后失效问题_uniapp真机调试高德地图正常 打包apk高德地图就不加载-CSDN博客 目前两个项目,一个项目是从另一个项目里面分割出来的一整套完整的系统,两个项目 配置里面的高德地图的key值都

    2024年01月24日
    浏览(73)
  • 关于IOS系统时间格式显示NAN问题以及小程序项目运行报错app.json找不到

    目录 问题一:关于IOS系统时间格式显示NAN 一、比较常见的情况,时间格式为\\\"yyyy-MM-dd HH:mm:ss\\\"格式在 iOS 会出现 NAN 二、关于时间临界值:对于00:00:00和24:00:00这两个时间临界值, ios会转成NAN 三、时间格式为2022/09(年月),这种在iOS 用new Date转化之后也会变成NAN,这种情况可以

    2024年02月08日
    浏览(38)
  • uniapp h5 echarts 打包后图表点击失效/及其他失效

    pc端 window11 hbuilderx版本 3.8.12 echarts版本 5.4.3 在main.js 加上 window.wx = {} // 开发正常 打包后 图表点击等也会失效 window.wx = null 会报错 打包后自动检测环境,会优先走到 wx里去。进去就不出来了。拉都拉不出来那种。所以重写一下wx

    2024年02月08日
    浏览(39)
  • uniapp云打包成app后,在Android12手机上横屏样式未填满手机界面;在ios手机上横屏不生效;问题解决

    问题1:横屏在本地调试时是好的,云打包后在Android12上横屏样式宽度就只生效了一半。 解决:在onLoad中,定时500ms后再进行横屏操作(200ms不生效) 问题2:云打包后在ios中横屏不生效。 解决:在manifest.json文件中的app-plus下、app-plus中的distribute下都添加横竖屏设置代码,之前

    2024年02月12日
    浏览(56)
  • 【uni-app】uni项目打包微信小程序中使用 ECharts (mpvue-echarts)

    在小程序里画图表,uniapp 不想引入 u-charts怎么办,个人还是喜欢用echarts 先看成品图 说明: 示例下载-- 完整dom 如果你想要在单页面渲染多个图标可以看看:这里(相关文章传送门) 原生小程序使用的是 echarts-for-weixin ,具体地址如下: https://github.com/ecomfe/echarts-for-weixin 想在

    2024年02月07日
    浏览(55)
  • ruoyi-app(uniapp) 解决持久化登录:退出应用后再次打开保持已登录状态以及登录页显示tabBar的问题

    在使用ruoyi-app开发移动端调试的时候发现已登录用户退出应用后台后重新打开需要重新登录, 于是想做一个持久保存登录状态的功能。 首先ruoyi-app自带的登录存储token的流程完全没问题,但是在 pages.json文件中第一个页面却是登录页;uniapp官网写道在pages第一项为应用首页  

    2024年02月04日
    浏览(58)
  • uniapp 微信小程序 echarts地图 点击显示类目

    效果如图: 在tooltip内axisPointer内添加 label:{show:true} 即可显示“请求离婚”的标题

    2024年02月13日
    浏览(49)
  • uniapp 打包成 apk(原生APP-云打包)免费

    根据需求,修改 manifest.json 配置,常见的修改有: 升级版本时, 应用版本名称 和 应用版本号 必须高于上一版的值 点浏览选择png格式的图片后,点击 自动生成所有图标并替换 ,即可便捷更换应用图标 使用 HBuilder X 进行云打包 因云打包人较多,可能需要排队 完成排队,进

    2024年02月01日
    浏览(48)
  • uniapp结合Canvas+renderjs根据经纬度绘制轨迹(二)

    ​ 根据官方建议要想在 app-vue 流畅使用 Canvas 动画,需要使用 renderjs 技术,把操作 canvas 的js逻辑放到视图层运行,避免逻辑层和视图层频繁通信。 这里呢结合 renderjs 技术实现绘制轨迹图形。 你可能需要先了解 renderjs 如何数据通讯:renderjs 与 app-vue之间数据交互 html中使用

    2024年02月11日
    浏览(40)
  • 『UniApp』uni-app-打包成App

    大家好,我是 BNTang, 在上一节文章中,我给大家详细的介绍了如何将我开发好的项目打包为微信小程序并且发布到微信小程序商店 趁热打铁,在来一篇文章,给大家详细的介绍如何将项目打包成APP。 打包 App 也是一样的,首先需要配置关于 App 应用的基础信息,打开 manifest

    2024年02月04日
    浏览(99)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包