最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue使用Echarts的三種實(shí)現(xiàn)方式

 更新時(shí)間:2026年04月23日 09:19:29   作者:偉笑  
文章介紹了三種在Vue項(xiàng)目中使用ECharts的方法:直接使用原始方法、使用vue-echarts和v-chhart,詳細(xì)描述了每種方法的步驟和優(yōu)勢(shì),幫助開發(fā)者在Vue項(xiàng)目中更方便地地使用ECharts

一、原始方法直接使用

1、安裝ECharts:

npm install echarts --save

2、創(chuàng)建一個(gè)Vue公共組件 EChart.vue:

<template>
  <div :style="{width: '100%', height: '300px'}" ref="chart"></div>
</template>
<script>
import echarts from 'echarts'
export default {
  name: 'EChart',
  props: {
    option: {
      type: Object,
      required: true
    }
  },
  data() {
    return {
      chartInstance: null
    }
  },
  watch: {
    option: {
      handler(newOption) {
        if (this.chartInstance) {
          this.chartInstance.setOption(newOption);
        }
      },
      deep: true
    }
  },
  mounted() {
    this.chartInstance = echarts.init(this.$refs.chart);
    this.chartInstance.setOption(this.option);
  },
  beforeDestroy() {
    if (this.chartInstance) {
      this.chartInstance.dispose();
    }
  }
}
</script>

3、使用EChart.vue組件

<template>
  <div>
    <e-chart :option="chartOption"></e-chart>
  </div>
</template>
 
<script>
import EChart from './EChart.vue'
 
export default {
  components: {
    EChart
  },
  data() {
    return {
      chartOption: {
        // ECharts 配置項(xiàng)
      }
    }
  }
}
</script>

這個(gè)例子中,EChart.vue組件通過props接收ECharts的配置項(xiàng)option,并在組件的mounted生命周期鉤子中初始化ECharts實(shí)例,在watch中監(jiān)控option的變化,并更新圖表。

在父組件中,你可以通過傳遞不同的chartOption來(lái)更新圖表。

這樣做的好處是,你可以在多個(gè)地方復(fù)用這個(gè)圖表組件,并通過傳遞不同的配置來(lái)定制圖表的顯示。同時(shí),組件內(nèi)部處理了ECharts實(shí)例的創(chuàng)建和銷毀,使得使用更加簡(jiǎn)潔和高效。

二、使用vue-echarts

vue-echarts (https://github.com/ecomfe/vue-echarts)是ECharts 的 Vue.js 組件,基于 ECharts v4.1.0+ 開發(fā),依賴 Vue.js v2.2.6+,意思就是可以直接把echarts實(shí)例當(dāng)中vue中的組件來(lái)使用,不用每次都獲取dom、掛在dom,輕松使用echarts的所用功能。

npm install echarts vue-echart

main.js中引入

import ECharts from 'vue-echarts'
// 注冊(cè)全局的組件
Vue.component('vChart', ECharts)

vue中使用,直接添加options 數(shù)據(jù)即可。

<template>
  <div class="page">
    <el-card>
      <!-- 柱狀圖+折線圖 -->
      <vChart class="chart3" :options="barOptions" />
    </el-card>
  </div>
</template>

<script>
export default {
  data() {
    return {
      barOptions: {
        color: ["#5094FF", "#64DAAC", "#FAC84A"],
        grid: {
          top: "15%",
          bottom: "20%",
          right: "5%",
          left: "5%"
        },
        tooltip: {},
        legend: {
          data: ["合格數(shù)", "超標(biāo)數(shù)", "合格率", "超標(biāo)率"],
          top: "0"
        },
        xAxis: {
          type: "category",
          data: ["04-13", "04-14", "04-15", "04-16", "04-17", "04-18", "04-19"]
        },
        yAxis: {
          // name: '合格率(%)',
          // nameLocation: 'middle',
          type: "value"
          // nameTextStyle: {
          //   fontSize: '0.072917rem',
          //   color: '#999999'
          // }
        },
        series: [
          {
            name: "合格數(shù)",
            type: "bar",
            barWidth: "15%",
            barGap: "5%",
            data: [20, 232, 441, 654, 770, 530, 410]
          },
          {
            name: "超標(biāo)數(shù)",
            type: "bar",
            barWidth: "15%",
            data: [120, 482, 791, 834, 590, 930, 710]
          },
          {
            name: "合格率",
            type: "line",
            data: [420, 332, 291, 654, 590, 330, 810]
          },
          {
            name: "超標(biāo)率",
            type: "line",
            data: [120, 232, 391, 854, 590, 730, 410]
          }
        ]
      }
    };
  }
};
</script>

三、使用v-charts

v-charts(https://v-charts.js.org/#/) 是基于vue2二次封裝的圖表組件庫(kù),功能沒有echarts多 但也夠用了,官網(wǎng)很詳細(xì),這里用一個(gè)官網(wǎng)例子說明問題

<template>
  <ve-histogram :data="chartData" :settings="chartSettings"></ve-histogram>
</template>

<script>
  export default {
    data () {
      this.chartSettings = {
        showLine: ['下單用戶']
      }
      return {
        chartData: {
          columns: ['日期', '訪問用戶', '下單用戶', '下單率'],
          rows: [
            { '日期': '1/1', '訪問用戶': 1393, '下單用戶': 1093, '下單率': 0.32 },
            { '日期': '1/2', '訪問用戶': 3530, '下單用戶': 3230, '下單率': 0.26 },
            { '日期': '1/3', '訪問用戶': 2923, '下單用戶': 2623, '下單率': 0.76 },
            { '日期': '1/4', '訪問用戶': 1723, '下單用戶': 1423, '下單率': 0.49 },
            { '日期': '1/5', '訪問用戶': 3792, '下單用戶': 3492, '下單率': 0.323 },
            { '日期': '1/6', '訪問用戶': 4593, '下單用戶': 4293, '下單率': 0.78 }
          ]
        }
      }
    }
  }
</script>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue?Router的安裝使用方法總結(jié)

    Vue?Router的安裝使用方法總結(jié)

    在本文中,我們?cè)敿?xì)講解了Vue路由的使用方法,我們首先安裝了Vue?Router,然后創(chuàng)建了一個(gè)Vue?Router實(shí)例,并配置了路由,感興趣的朋友一起看看吧
    2023-11-11
  • 深入理解Vue3響應(yīng)式原理

    深入理解Vue3響應(yīng)式原理

    響應(yīng)式就是當(dāng)對(duì)象本身(對(duì)象的增刪值)或者對(duì)象屬性(重新賦值)發(fā)生變化時(shí),將會(huì)運(yùn)行一些函數(shù),最常見的就是render函數(shù),下面這篇文章主要給大家介紹了關(guān)于Vue3響應(yīng)式原理的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • vue3的定時(shí)器cron組件詳解

    vue3的定時(shí)器cron組件詳解

    該文章介紹了如何在Vue3和Antd-Vue中實(shí)現(xiàn)一個(gè)定時(shí)任務(wù)調(diào)度組件,該組件支持每日定時(shí)任務(wù),并返回cron格式的字符串,父組件調(diào)用該組件后,會(huì)得到一個(gè)cron格式的時(shí)間字符串,表示任務(wù)的執(zhí)行時(shí)間,例如,“000009***”表示每天的9點(diǎn)
    2025-10-10
  • vue?3.0使用element-plus按需導(dǎo)入方法以及報(bào)錯(cuò)解決

    vue?3.0使用element-plus按需導(dǎo)入方法以及報(bào)錯(cuò)解決

    Vue3是不能直接使用Element-ui了,需要換成Element-plus,下面這篇文章主要給大家介紹了關(guān)于vue?3.0使用element-plus按需導(dǎo)入方法以及報(bào)錯(cuò)解決的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • vue2.0 下拉框默認(rèn)標(biāo)題設(shè)置方法

    vue2.0 下拉框默認(rèn)標(biāo)題設(shè)置方法

    今天小編就為大家分享一篇vue2.0 下拉框默認(rèn)標(biāo)題設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-08-08
  • vue修改proxyTable解決跨域請(qǐng)求,報(bào)404的問題及解決

    vue修改proxyTable解決跨域請(qǐng)求,報(bào)404的問題及解決

    這篇文章主要介紹了vue修改proxyTable解決跨域請(qǐng)求,報(bào)404的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)scrollIntoView()使用案例

    vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)scrollIntoView()使用案例

    這篇文章主要介紹了vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)scrollIntoView()使用案例,文中結(jié)合實(shí)例代碼介紹了vue錨點(diǎn)跳轉(zhuǎn)的三種方式(頁(yè)內(nèi)跳轉(zhuǎn),跨頁(yè)跳轉(zhuǎn),函數(shù)跳轉(zhuǎn)),需要的朋友可以參考下
    2023-07-07
  • vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動(dòng)監(jiān)聽的方法

    vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動(dòng)監(jiān)聽的方法

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動(dòng)監(jiān)聽的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • vue.config.js中devServer.proxy配置說明及配置正確不生效問題解決

    vue.config.js中devServer.proxy配置說明及配置正確不生效問題解決

    Vue項(xiàng)目devServer.proxy代理配置詳解的是一個(gè)非常常見的需求,下面這篇文章主要給大家介紹了關(guān)于vue.config.js中devServer.proxy配置說明及配置正確不生效問題解決的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • vue3 emit is not a function問題及解決

    vue3 emit is not a function問題及解決

    這篇文章主要介紹了vue3 emit is not a function問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09

最新評(píng)論

涞源县| 洞口县| 乌海市| 舟山市| 洛阳市| 体育| 定南县| 聂荣县| 湾仔区| 黄石市| 浮梁县| 孙吴县| 白山市| 连州市| 商河县| 安仁县| 灵石县| 伊吾县| 新野县| 顺义区| 巩义市| 同德县| 浏阳市| 调兵山市| 乃东县| 阳泉市| 沾化县| 白沙| 广平县| 苍山县| 广宁县| 景洪市| 伽师县| 永年县| 微博| 永春县| 天峨县| 得荣县| 闻喜县| 阳朔县| 宽甸|