Vue3项目的Echarts引入(2024/11)

温馨提示:本文基于Vue3+Ts
官网地址:https://echarts.apache.org/zh/index.html

获取Echarts(可跳过??)

在控制台输入:

npm install echarts

??这是官网给的,我不知道我曾经有没有电脑cmd,然后获取过Echarts了,这一步可以先跳过,因为我只用到了后面的步骤。

项目里引入Echarts

在这里插入图片描述

在项目控制台里输入:

npm install echarts --save

1.官方给的引入(我不知道怎么用,哈哈):

import * as echarts from ‘echarts’;
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById(‘main’));
// 绘制图表
myChart.setOption({
title: {
text: ‘ECharts 入门示例’
},
tooltip: {},
xAxis: {
data: [‘衬衫’, ‘羊毛衫’, ‘雪纺衫’, ‘裤子’, ‘高跟鞋’, ‘袜子’]
},
yAxis: {},
series: [
{
name: ‘销量’,
type: ‘bar’,
data: [5, 20, 36, 10, 10, 20]
}
]
});

2.网上发现的,可行的,大佬提供的方法:

<template>
<div ref="chartDom" style="width: 600px; height: 300px;"></div>
</template>
<script lang="ts" setup>
import { ref, onMounted, onUnmounted, nextTick } from ‘vue’;
import * as echarts from ‘echarts’;
// 创建一个响应式引用来保存DOM元素
const chartDom = ref(null);
let chartInstance: any = null;
// 初始化ECharts实例并设置配置项(这里以折线图为例,但可灵活替换)
onMounted(async () => {
await nextTick(); // 确保DOM已经渲染完成
chartInstance = echarts.init(chartDom.value);
const option = {
// 这里是ECharts的配置项,可以根据需要绘制不同类型的图表
title: {
text: ‘ECharts 入门示例’
},
tooltip: {},
xAxis: {
data: [‘衬衫’, ‘羊毛衫’, ‘雪纺衫’, ‘裤子’, ‘高跟鞋’, ‘袜子’]
},
yAxis: {},
series: [
{
name: ‘销量’,
type: ‘bar’,
data: [5, 20, 36, 10, 10, 20]
}
]
};
chartInstance.setOption(option);
});
// 销毁ECharts实例
onUnmounted(() => {
if (chartInstance != null && chartInstance.dispose) {
chartInstance.dispose();
}
});
</script>

我目前不是很懂原理,以及大佬有销毁步骤。我是用的组件方式放入页面,具体如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何使用Echarts(新手)

在这里插入图片描述
在这里插入图片描述

将option用官网代码替换即可,不过都是固定数据,如果需要随机数据,可以使用mock.js,有兴趣的可以去百度。
在这里插入图片描述

补充: npm install xxx --save 命令是安装模块到项目node_modules目录下,会将模块依赖写入package.json文件中的dependencies{}下。如果将node_modules目录删除,使用npm install安装所有依赖,包括自行安装的依赖,会被自动安装 。
突然发现,如果你网上down了一个项目下来,npm i后报错,有可能是开发者没用–save安装模块???

### 如何在 Vue3 中安装和配置 ECharts #### 安装依赖 为了在 Vue3 项目中集成 ECharts,需要先通过包管理工具 `pnpm` 或其他工具(如 npm/yarn)来安装必要的依赖项。具体命令如下: ```bash pnpm install echarts vue-echarts ``` 这一步骤会引入两个核心模块:一个是基础的 ECharts 库本身 (`echarts`),另一个是专门为 Vue 封装好的组件库 (`vue-echarts`) [^1]。 #### 配置全局变量 (可选方法) 如果希望在整个应用范围内都可以访问到 ECharts 实例而无需每次都单独导入,则可以考虑将其挂载至 Vue 的原型链上。以下是实现方式之一: ```javascript // main.js or equivalent entry file of your project. import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; // Importing the necessary libraries as per documentation provided by user&#39;s reference material. import * as echarts from &#39;echarts&#39;; const app = createApp(App); app.config.globalProperties.$echarts = echarts; // Making it globally accessible within all components. export default app.mount(&#39;#app&#39;); ``` 上述代码片段展示了如何将 ECharts 设置成全局属性以便于任何地方调用它[^2] 。注意这里采用了 ES Module 导入语法而非 CommonJS ,这是由于 Vue3 默认支持前者所致。 #### 组件内部使用示例 当完成以上准备工作之后,在实际开发过程中就可以很方便地利用这些资源绘制图表了。下面给出一个简单的例子说明怎样在一个普通的 Vue 单文件组件(SFC)里边操作数据展示柱状图: ```html <template> <div ref="chartRef" style="width: 600px;height:400px;"></div> <!-- Container element --> </template> <script lang="ts"> import { defineComponent, onMounted, ref } from &#39;vue&#39;; import * as echarts from &#39;echarts&#39;; export default defineComponent({ name:"BarChart", setup(){ const chartRef=ref(null); let myChart; onMounted(() => { if (!chartRef.value){ console.error(&#39;Element not found!&#39;); return ; } myChart = echarts.init(chartRef.value); // Initialize instance based upon DOM node var option ={ title :{ text:&#39;Sample Bar Chart&#39;, subtext:&#39;&#39;, x:&#39;center&#39; }, tooltip:{ trigger:&#39;axis&#39; }, xAxis:[ {type:&#39;category&#39;,data:[&#39;Mon&#39;,&#39;Tue&#39;,&#39;Wed&#39;,&#39;Thu&#39;,&#39;Fri&#39;,&#39;Sat&#39;]} ], yAxis:[{ type:&#39;value&#39;}], series:[ { name:&#39;Sales Volume&#39;, type:&#39;bar&#39;, data:[120,200,150,80,70,110] } ] }; myChart.setOption(option); // Apply configuration options to render graph }); return {chartRef}; } }); </script> ``` 此脚本定义了一个新的 Vue 组件叫做 BarChart 并且包含了初始化以及渲染基本条形统计图所需的逻辑.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值