当前位置: 首页 > news >正文

网站需要公司备案么兰州网络推广做啥的

网站需要公司备案么,兰州网络推广做啥的,硬件开发协议,如何做公司推广在前端开发中&#xff0c;数据可视化是展示数据的重要方式之一。ECharts 是一个强大的开源可视化库&#xff0c;能够帮助我们轻松地创建各种图表。本文将介绍如何在 Vue 3 项目中使用 ECharts 封装一个图表组件。 代码 <template><div ref"chartRef" styl…

在前端开发中,数据可视化是展示数据的重要方式之一。ECharts 是一个强大的开源可视化库,能够帮助我们轻松地创建各种图表。本文将介绍如何在 Vue 3 项目中使用 ECharts 封装一个图表组件。

代码

<template><div ref="chartRef" style="height: 100%; width: 100%"></div>
</template><script setup lang="ts">
import * as echarts from "echarts";
import { onMounted, onUnmounted, shallowRef, watch } from "vue";const props = defineProps(["option"]);// 使用 shallowRef 来创建一个对 div 元素的引用
const chartRef = shallowRef(null);let chartInstance: echarts.ECharts | null = null;// 初始化图表,如果图表容器不可用或图表已初始化,则不执行任何操作。
const initChart = () => {if (!chartRef.value) {console.error("图表容器不可用。");return;}if (chartInstance) {// 防止重复初始化return;}try {chartInstance = echarts.init(chartRef.value);chartInstance.setOption(props.option);} catch (error) {console.error("无法加载图标:", error);}
};// 当组件挂载时调用的函数,用于初始化图表并添加窗口大小调整的监听器
onMounted(() => {initChart();const handleResize = () => {if (chartInstance) {chartInstance.resize();}};// 监听窗口大小改变,并重新调整图表大小window.addEventListener("resize", handleResize);// 当组件卸载时调用的函数,用于清理资源onUnmounted(() => {if (chartInstance) {chartInstance.dispose();chartInstance = null;}window.removeEventListener("resize", handleResize);});
});// 监听 props.option 的变化,以更新图表选项
watch(() => props.option,(newOption: echarts.EChartsOption) => {if (chartInstance) {chartInstance.setOption(newOption);}}
);
</script>

说明

容器定义

<template><div ref="chartRef" style="height: 100%; width: 100%"></div>
</template>

这段代码用于创建图表容器,并使用 ref 指令获取该元素的引用。相比于使用 id,ref 更加灵活,避免了 id 重复的问题,且更符合 Vue 的响应式编程风格。

引用实例

const chartRef = shallowRef(null);
let chartInstance: echarts.ECharts | null = null;

使用 shallowRef 创建对 div 元素的引用。shallowRef 和 ref 的区别在于,shallowRef 仅对引用对象的第一层做响应式处理,避免了不必要的性能消耗。本文引用的 DOM 元素不需要深层次的响应式处理,所以选择 shallowRef

初始化

const initChart = () => {if (!chartRef.value) {console.error("图表容器不可用。");return;}if (chartInstance) {// 防止重复初始化return;}try {chartInstance = echarts.init(chartRef.value);chartInstance.setOption(props.option);} catch (error) {console.error("无法加载图标:", error);}
};

通过 echarts.init 初始化图表实例,并设置图表配置。该函数首先检查 chartRef 是否存在,以避免在容器不可用时初始化图表。然后,通过 echarts.init 初始化图表实例,并设置图表配置。

挂载卸载

onMounted(() => {initChart();const handleResize = () => {if (chartInstance) {chartInstance.resize();}};// 监听窗口大小改变,并重新调整图表大小window.addEventListener("resize", handleResize);// 当组件卸载时调用的函数,用于清理资源onUnmounted(() => {if (chartInstance) {chartInstance.dispose();chartInstance = null;}window.removeEventListener("resize", handleResize);});
});

挂载不必解释,卸载是为了及时清理,防止可能的内存泄露问题。

及时更新

watch(() => props.option,(newOption: echarts.EChartsOption) => {if (chartInstance) {chartInstance.setOption(newOption);}}
);

图表是有可能动态变化的,因此要设置一个监听,这样的话,数据就能得到及时的更新。

http://www.yayakq.cn/news/339783/

相关文章:

  • 如何做网站的的关键词怎么用wordpress建电商网站吗
  • 网站目录怎么做301跳转电商网站建设市场
  • 有没有做古装衣服的网站广元市剑阁县建设局网站
  • 网站开发href使用本地链接logo模板素材
  • 平面设计师上的网站专业模板网站制作
  • 网站开发资金来源怎样制作自己网站
  • 浙江省工程建设协会网站大众创新网官方网站首页
  • 网站建设简述广东省建设安全管理协会网站
  • 企业做推广哪些网站比较好笔趣阁 网站开发
  • 免费图标下载网站平面设计职业规划
  • 小企业网站建设哪找jsp 淘宝网站验证码 设计
  • 淘宝上的网站怎么做网络制作网站
  • 张家港建设工程质量监督站网站免费开个人网店
  • 小学学校网站建设情况资料网页设计师是前端吗
  • 做粘土网站自己怎么制作网页游戏
  • php 用什么做网站服务器吗网站模板 金融
  • 网站建设 面试问题苏州微信网站
  • dedecms微电影网站模板艺术字体
  • 苏州企业网站seo网站买源代码
  • 佛山网站建设专家青岛有没有做网站的
  • 都匀住房和城乡建设厅网站网站建站前seo注意
  • 唐山网站定制建设工程查询网站
  • 网站的代码在哪里设置十大永久免费网络游戏
  • 行业门户网站程序工业控制软件开发
  • 凡科网站开发有哪些网站可以自己做加视频
  • 免费的个人简历模板网站《小城镇建设》》杂志社网站
  • 免费域名注册网站源码湖北城乡住房建设厅网站
  • 做网站服务器的配置重庆新闻频道在线直播观看
  • 网站假备案举报西凤酒网站建设
  • 锡林浩特建设局网站asp企业建站系统