HQChart--uniApp v3 中使用 render.js

本文介绍了在uniApp v3中,由于官方编译器升级导致HQChart性能下降的问题,以及如何通过使用render.js来提高图表的流畅度。详细讲述了render.js的作用,并提供了uniapp插件市场的HQChart组件下载位置和使用步骤。同时,分享了一个封装的kLine-main.vue组件代码示例,以及数据格式化和在vuex中动态改变指标的处理方式。
摘要由CSDN通过智能技术生成

HQChart--uniApp v3 中使用 render.js

前言

由于uniApp 官方升级了v3编译器,升级后不知道为什么会导致官方提供的画图工具变得特别慢~也就是卡,导致之前写的 HQChart用的页面打开特别卡,所以可以使用render.js能大幅度提升流畅度。
使用前要看看这个:renderjs是一个运行在视图层的js。它比WXS更加强大。它只支持app-vue和h5。

uniapp插件市场hqchart地址
要用到里面的 umychart.uniapp.h5.js 文件
将其放在 根目录/static/umychart_uniapp_h5/umychart.uniapp.h5.js
具体代码我封装层一个组件了,当然这仅仅是给大家一个参考方案,毕竟你们的项目需求和我的肯定不一样的。kLine-main.vue 如下

代码

<template>
	<view class="kLine-main" style="height: 1200rpx;width: 750rpx;">
		<view class="kline" id="HQChart" ref="kline" style="height: 1200rpx;width: 750rpx;" :prop="deployData" :change:prop="HQChart.updateChart"></view>
	</view>
</template>

<script>
import {
    mapActions, mapMutations, mapState } from 'vuex';
export default {
   
	name: 'kLine-main', //k线 图表
	components: {
   },
	props: {
   
		klineData: {
   
			Type: Array,
			default: function() {
   
				return [];
			}
		},
		kLineDataDailyCache:{
   
			Type: Array,
			default: function() {
   
				return [];
			}
		},
		tradePairInfo: {
   
			Type: Object,
			default: function() {
   
				return {
   };
			}
		},
		
		menuPeriod: Number
	},
	data() {
   
		return {
   
			//官方没有给直接调用视图层的方法所以这个通过改变状态来触发视图层的方法,不知道后期官方是否可以给个更好解决方案
			deployData: {
   
				hqchartData: {
    // 分线的历史数据
					name: '',
					symbol: 'BTCUSDT.BIT',
					count: '',
					start: -1,
					end: 0,
					data: [] //date = 0, yclose = 1, open = 2, high = 3, low = 4, close = 5, vol = 6, amount = 7;
				},
				kLineDataDailyCache:{
    //日线的历史数据
					name: '',
					symbol: 'BTCUSDT.BIT',
					count: '',
					start: -1,
					end: 0,
					data: [] //date = 0, yclose = 1, open = 2, high = 3, low = 4, close = 5, vol = 6, amount = 7;
				},
				period: 4,
				Windows: [],
				FloatPrecision: 4, //币种的小数位数
				isHqchartData: false, //是否有新的数据
				isDestroy: false, // 组件是否要销毁了,通知视图层销毁
				switchWindows: false, //指标是否改动了的通知开关
				isRefresh: false //是否改变了币种
			}
		};
	},
	computed: {
   
		...mapState('kline', ['kLineWindows', 'isChangeTemplate'])
	},
	created() {
   
		//console.log(this.klineData);
		this.deployData.period = this.menuPeriod;
		this.deployData.Windows = this.kLineWindows;
		this.deployData.hqchartData.data = this.klineData;
		this.deployData.hqchartData.name = this.tradePairInfo.tradePairsName;
		this.deployData.hqchartData.count = this.klineData.length;
		this.deployData.hqchartData.symbol = this.tradePairInfo.tradePairsName + '.BIT';
		this.deployData.FloatPrecision = this.tradePairInfo.tradeDecimal > 2 ? this.tradePairInfo.tradeDecimal : 2; //小数位
		this.deployData.kLineDataDailyCache = {
   
			name: this.tradePairInfo.tradePairsName,
			symbol: this.tradePairInfo.tradePairsName + '.BIT',
			count: this.kLineDataDailyCache.length,
			start: -1,
			end: 0,
			data:this.kLineDataDailyCache
		}
	},
	mounted() {
   },
	watch: {
   
		klineData(val) {
   
			this.deployData.hqchartData.data = this.klineData;
			this.deployData.hqchartData.count = this.klineData.length;
			this.deployData.isHqchartData = true;
			setTimeout(() => {
   
				this.deployData.isHqchartData = false;
			}, 2000);
		},
		tradePairsName(val) {
   
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您提到的是文本排版的几个概念,它们通常与图形设计软件如Adobe InDesign的选项有关。下面是这些术语的简要说明: 1. 字符间隔(Character Spacing): 这是调整单个字符之间的空间,也称为字间距。在InDesign,可以通过“Type” > “ Kerning” 来设置。 2. 单词间隔(Word Spacing, Tw): 指的是单词之间的间距,即单词末尾和下一个单词开头之间的空白。在InDesign,这个设置通常在“Type” > “Tracking” 或者使用快捷键Ctrl+T(Windows/Linux)或Command+T(Mac)来调整。 3. 水平缩放(Horizontal Scaling, Tz): 用于调整文本框相对于页面的比例,它不会改变字符大小,而是改变文本框的尺寸。 4. Leading (Leading, TL): 也叫行距,是指文本行之间的距离,它包括基线到基线的距离以及任何额外的行间距。在InDesign,可以在“Type” > “Line Spacing” 设置。 5. 文本字体(Font, Tf): 选择合适的字体样式、大小和系列是排版的重要部分。在InDesign,点击“Type” > “Font” 或者直接在工具栏上选择字体并输入大小。 6. 渲染(Render, Tr): 这个术语可能不太准确,可能是指文本的渲染质量或预览效果。在InDesign,确保文本以适当的分辨率显示,可以在“Output” > “Previews” 设置。 要具体操作,打开InDesign,选择所需的文本,然后在菜单栏找到相应的选项进行调整。请注意,每个软件可能有不同的界面和命名方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值