首页 > 其他分享 >vue中引入echarts

vue中引入echarts

时间:2023-08-17 16:00:47浏览次数:29  
标签:vue myChart init let import 引入 myEchart echarts

1、先下载依赖包

npm install echarts -s //安装在目标项目中,如果想要全局安装就用-g

2、引入

2.1、全局引入

main.js中

import echarts from 'echarts'
Vue.prototype.$echarts=echarts
//也可以用:
import *as echarts from 'echarts'

2.2、局部引入

component.vue

import echarts from 'echarts' 
//或者
import *as echarts from 'echarts'

3、插入echarts

3.1、全局注册

3.1.1、直接使用dom元素

<template>
  <div>
    <div id="myEchart" class="chart"></div>
  </div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  data(){
    return{
      const option = {
        // 在此添加ECharts 选项...
      }
    }
  },
  mounted() {
    //使用异步可以避免因等待整个页面而造成阻塞,但要注意与其他异步操作之间的交互
    this.$nextTick(() => {	
      this.renderChart();		
    }) 
  },
  methods: {
    renderChart() {
      let myChart = this.$echarts.init(document.getElementById('myEchart'));
      myChart.setOption(option);
    },
  },
};
</script>

<style>
.chart {
  width: 100%;
  height: 400px; /* 设置显式高度 */
}
</style>

//通过确保父元素具有非零尺寸,为.chart容器设置显式高度来确保图表容器具有特定的大小,并使用$nextTick方法确保在DOM更新后执行操作获取准确的DOM尺寸信息,从而避免 "Can't get DOM width or height" 错误

3.1.2、使用ref实现对DOM元素引用和操作来插入echarts

<div ref="myEchart" class="chart"></div>

methods: {
    renderChart() {
      let myChart = this.$echarts.init(this.$refs.myEchart);
      myChart.setOption(option);
    },
  },

3.2、局部注册

3.2.1、直接使用dom元素

将let myChart = this.$echarts.init(document.getElementById('myEchart')); 改为:

let myChart = echarts.init(document.getElementById('myEchart'));

3.2.2、使用ref实现对DOM元素引用和操作来插入echarts

将let myChart = this.$echarts.init(this.$refs.myEchart); 改为:

let myChart = echarts.init(this.$refs.myEchart);

标签:vue,myChart,init,let,import,引入,myEchart,echarts
From: https://www.cnblogs.com/CMcaiming/p/17637885.html

相关文章

  • vue2第一章
    1.安装两个vscode插件vetur--让.vue文件高亮和有语法提示VueVsCodesnippets--快捷写代码2.vue组件一个.vue文件就是一个组件,称为单文件组件<template><div>//这里写HTML注意:template只能有一个根节点</div></template><script>//导出一......
  • vue2第三章
    1.内置组件component渲染一个“元组件”为动态组件。依is的值,来决定哪个组件被渲染。vue内置组件<template><component:is="viewName"@updateView="updateView"></component></template><script>imports......
  • vue3第一章
    官方文档(中文版):https://vue3js.cn/docs/zh/视频:https://www.qiuzhi99.com/movies/vue3/1330.html语法对比:https://www.jianshu.com/p/4e7ba9e93402与2.x区别对比1.vue2和vue3双向数据绑定原理发生了改变vue2的双向数据绑定是利用ES5的一个apiObject.definePropert()对数......
  • vue实现课程表
    <template><div><divclass="panel"><el-table:data="timetable":span-method="objectSpanMethod"border:header-cell-style="{background:'#d9e5fd',color:'bl......
  • vue + element 表设计
    <template><divclass="course-table"><el-scrollbarstyle="height:100%"><divclass="course-table-content"><divclass="top":style="{width:......
  • vue el-form 多种校验
    rules:Object.freeze({name1:[{required:true,message:'请输入发放计划编码',trigger:'blur'},{pattern:/^(?!\s+).*(?<!\s)$/,message:'首尾不能为空格',trigger:'blur'}],name2:[{required:true,mess......
  • VUE后台管理系统(三)
    SKU管理模块开发先完成静态组件###Sku.index.vue<template><div><el-tablestyle="width:100%"border><el-table-columntype="index"label="序号"width="80px"align="center">......
  • vue项目在360浏览器兼容模式下SCRIPT1002: 语法错误以及“fetch”未定义问题解决
    使用360浏览器的兼容模式,vue项目页面空白,打开控制台,发现如下报错:SCRIPT1002:语法错误 解决方法如下:1、安装依赖npminstall--savecore-jsregenerator-runtime2、在main.js引入import'core-js/stable';import'regenerator-runtime/runtime';3、在babel.confi......
  • 入门级echarts地图高亮
    入门级echarts地图高亮♥需求我们需要在各个省的地图中对指定城市进行高亮,直辖市在中国地图中高亮。实现1.首先导入echartsnpminstallechartsECharts(EnterpriseCharts)是一个由百度开发的开源图表库,它提供了丰富的交互性、可定制性和扩展性,用于创建各种类型的数据可视化......
  • Echarts图表的使用以及相关配置
    前言1、Echarts简介Echarts,全称EnterpriseCharts,商业级数据图表,一个纯Javascript的图表库,能够流畅的运行在PC以及移动设备上,兼容当前绝大部分浏览器。为我们许多提供直观,生动,可交互,可高度个性化定制的数据可视化图表。能够支持折线图、柱状图、散点图、K线图、饼图、雷达图、和......