vue封装echarts初始模板

html文件导入

<script src="static/lib/echarts.min.js"></script>

main.js设置全局

Vue.prototype.$echarts = window.echarts

vue组件

<template>
 <div class='com-container' >
 //容器
   <div class='com-chart' ref='stock_ref'></div>
 </div>
</template>

<script>
export default {
 data () {
   return {
   	 //实例
     chartInstance: null,
     //入参数据,可以写在props,配合深度监听
     allData: null
  }
},
 mounted () {
   //初始化容器,最基本的配置
   this.initChart()
   //处理数据后,合并新的配置刷新图表
   this.getData()
   window.addEventListener ('resize', this.screenAdapter )
   //根据屏幕变动刷新图表
   this.screenAdapter()
},
 destroyed () {
   window.removeEventListener ('resize', this.screenAdapter )
},
 methods: {
   initChart () {
     this.chartInstance = this.$echarts.init(this.$refs.stock_ref)
     const initOption = {}
     this.chartInstance.setOption(initOption)
  },
   async getData () {
   // 获取服务器的数据, 对this.allData进行赋值之后, 调用updateChart方法更新图表      
   this.updateChart()
  },
   updateChart () {
     // 处理图表需要的数据
     const dataOption = {}
     this.chartInstance.setOption(dataOption)   
   },
   screenAdapter () {
     const adapterOption = {}
     this.chartInstance.setOption(adapterOption)    
     this.chartInstance.resize()
  }
}
}
</script>
Vue3中封装ECharts组件的方法如下所示: 1. 首先,在Vue项目中引入ECharts组件,可以使用import语句将ECharts组件导入到你的Vue文件中。例如,你可以使用以下代码引入ECharts组件: ```javascript import Echarts from '@/components/Echarts/Echarts.vue'; ``` 2. 然后,创建一个名为echartsOptions的响应式对象来存储ECharts的配置项。你可以使用reactive函数创建一个响应式对象。例如: ```javascript import { reactive } from 'vue'; const echartsOptions = reactive({ options: {}, init: false }); ``` 3. 在mounted钩子函数中,初始ECharts的配置项。你可以根据需要从后端获取数据,并将数据传递给ECharts的配置项。例如,你可以使用以下代码初始化配置项: ```javascript import { onMounted } from 'vue'; import chartOption from '@/components/Echarts/options'; onMounted(() => { const testData = [ { value: 26, name: '家用电器' }, { value: 27, name: '户外运动' }, { value: 24, name: '汽车用品' }, { value: 23, name: '手机数码' } ]; const testDimensions = ['name', 'value']; echartsOptions.options = chartOption.testOption(testData, testDimensions); }); ``` 4. 最后,在模板中使用ECharts组件并传递配置项和其他属性。例如: ```html <template> <Echarts id="echarts" height="300px" :full-options="echartsOptions" :loading="loading"></Echarts> </template> ``` 在上述代码中,`full-options`属性将配置项传递给ECharts组件,`loading`属性控制组件的加载状态。 这样,你就可以在Vue3中封装ECharts组件并使用它了。更多关于Vue3和ECharts的具体用法,你可以参考ECharts官方网站和Vue官方文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue3 封装ECharts组件](https://blog.csdn.net/weixin_42775304/article/details/130390065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值