真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在vue中將echart封裝為組件

怎么在vue中將echart封裝為組件,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)海滄,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

1. 安裝Echarts

首先第一步,肯定是安裝Echarts了。通過cd命令進(jìn)入項(xiàng)目根目錄,然后敲以下命令行:

cnpm install echarts -S

安裝成功會(huì)如下顯示,package.json里的dependencies屬性也會(huì)自動(dòng)加上Echarts依賴:

怎么在vue中將echart封裝為組件

安裝Echarts

怎么在vue中將echart封裝為組件

package.json

2.在vue項(xiàng)目中使用Echarts

安裝成功以后,我們先要考慮的是如何在vue項(xiàng)目中導(dǎo)入Echarts,并成功初始化一個(gè)圖表。

下面我會(huì)先建兩個(gè).vue文件 chart.vue 和 radar-chart.vue 作為這次示例的基礎(chǔ)。 chart.vue的角色是調(diào)用雷達(dá)圖,radar-chart.vue的角色是提供雷達(dá)圖:

//chart.vue 


//radar-chart.vue

好,正式創(chuàng)建一個(gè)Echarts圖表了

(1)在radar-chart.vue導(dǎo)入echart :

 // 引入基本模板
 import echarts from 'echarts/lib/echarts'
 // 引入雷達(dá)圖組件
 import 'echarts/lib/chart/radar'
 // 引入提示框和圖例組件
 import 'echarts/lib/component/tooltip'
 import 'echarts/lib/component/legend'

(2)創(chuàng)建圖表配置數(shù)據(jù),數(shù)據(jù)格式參考 Echarts官網(wǎng):

   const option = {
    tooltip: {},
    radar: {
     indicator: [{name: '體育', max: '100'}, {name: '數(shù)學(xué)', max: '100'}, {name: '化學(xué)', max: '100'}, {name: '勞動(dòng)', max: '100'}, {name: '物理', max: '100'}],
     center: ['50%', '51%']
    },
    series: [{
     type: 'radar',
     itemStyle: {normal: {areaStyle: {type: 'default'}}},
     data: [
      {
       value: [58,56,78,64,98],
       name: '各項(xiàng)得分',
       itemStyle: {normal: {color: '#f0ad4e'}}
      }
     ]
    }]
   }

(3)初始化圖表:

  const chartObj = echarts.init(document.getElementById('radar'))
  chartObj.setOption(option)

上面幾步匯總為以下代碼,另外補(bǔ)充一點(diǎn)就是,創(chuàng)建配置數(shù)據(jù)option和初始化的時(shí)候,都要放在mounted鉤子函數(shù)里執(zhí)行,這樣才能保證獲取dom的是時(shí)候,dom已完成渲染:

//chart.vue 


//radar-chart.vue




 .container{width: 500px;height: 400px;}

出來的效果是這樣的:

怎么在vue中將echart封裝為組件

效果一

3.將Echarts封裝為組件

上面我們已經(jīng)成功創(chuàng)建一個(gè)雷達(dá)圖了,但是很明顯的是,radar-chart.vue里的數(shù)據(jù)寫死的,無法重復(fù)調(diào)用。接下來著手封裝的事情了。

封裝的思路是這樣的:
(1)chart.vue向radar-chart.vue傳遞一組個(gè)性化數(shù)據(jù)
(2)radar-chart.vue通過props選項(xiàng)接收數(shù)據(jù)
(3)提煉接收到的數(shù)據(jù),覆蓋配置數(shù)據(jù)option
(4)初始化圖表
(如果對(duì)如何傳遞數(shù)據(jù)不理解,可以先看看我在開始的時(shí)候提到的,我的另一篇文章 —— “ vue之父子組件間通信實(shí)例講解(props、$ref 、 $emit )”)

具體代碼如下:

//chart.vue (父組件)



//radar-chart.vue (子組件)





 .container{width: 500px;height: 400px;}

封裝以后,就能傳遞自定義的數(shù)據(jù),反復(fù)調(diào)用了。上面代碼最后的效果是這樣的:

怎么在vue中將echart封裝為組件

效果二

4.細(xì)節(jié)優(yōu)化

基本的功能已經(jīng)實(shí)現(xiàn)了,下面我們來優(yōu)化下一些細(xì)節(jié)。

不知道大家有沒發(fā)現(xiàn)radar-chart.vue里的