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

淺談vue單頁面中有多個echarts圖表時的公用代碼寫法

 更新時間:2020年07月19日 09:29:13   作者:皮皮蝦-coding  
這篇文章主要介紹了淺談vue單頁面中有多個echarts圖表時的公用代碼寫法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

html中:

  <div class="charts1"/>
  <div class="charts2"/>
  <div class="charts3"/>
  <div class="charts4"/>
  <div class="charts5"/>
  <div class="charts6"/>
  <div class="charts7"/>

數(shù)據(jù)處理就不用提了。嗯,直接畫圖:

// 畫 折線圖
 drawLine() {
 // 數(shù)據(jù)處理的方法
  this.dealEchartsData()
  var myChartsArr = []
  for (var i = 1; i <= 7; i++) {
  this.myCharts = this.$echarts.init(document.getElementsByClassName('charts' + i)[0])
  myChartsArr.push(this.myCharts)
  var option = this.commonOption(this.myCharts, this.adnormalTypeSummery[i - 1], this.destArrAll[i - 1])
  // 為echarts對象加載數(shù)據(jù) true 防止echarts數(shù)據(jù)疊加!??!
  this.myCharts.setOption(option, true)
  }
  window.onresize = function() { // 自適應(yīng)
  for (var j = 0; j < myChartsArr.length; j++) {
   if (myChartsArr[j].resize()) {
   myChartsArr[j].resize()
   }
  }
  }
 },

公用部分:

 // option 主體
 commonOption(myCharts, titleText, destData) {
  var option = {
  title: {
   text: titleText
  },
  tooltip: {
   trigger: 'axis',
   confine: true
  },
  legend: {
   type: 'scroll',
   width: '90%',
   top: '13%'
  },
  grid: {
   left: '3%',
   right: '4%',
   bottom: '2%',
   containLabel: true
  },
  toolbox: {
   right: '20',
   feature: {
   saveAsImage: {}
   }
  },
  xAxis: {
   type: 'category',
   boundaryGap: false,
   data: this.monthName
  },
  yAxis: {
   type: 'value'
  },
  series: destData
  }
  return option
 }

離開該頁面時候摧毀:

destroyed() {
 if (this.myCharts) {
  this.myCharts.clear()
  this.myCharts.dispose()
  window.onresize = null
 }

補(bǔ)充知識:Vue + Echarts 圖表展示 及 動態(tài)渲染

準(zhǔn)備工作

安裝echarts依賴

npm install echarts --save-dev

引入

(main.js)
import echarts from 'echarts'
Vue.prototype.$echarts = echarts;

開始擼代碼

<template>
 <div class="peopleWrap">
 <h3>
  <i class="el-icon-position"></i>
  出入人員總數(shù){{peopleSumTotal}}
 </h3>
 <div id="peopleSum" style="width: 180px;height: 270px"></div>
 </div>
</template>
<script>
export default {
// 接受父組件傳來的參數(shù)【父傳子props】
 props: ["peopleSumTotal"], 
 data() {
 return {
  peopleSumTotalArr: []
 };
 },
 watch: {
 // 監(jiān)聽參數(shù)變化
 peopleSumTotal: {
  handler(newVal, oldVal) {
  if (newVal != 0) {
   console.log(newVal);
   this.peopleSum(newVal);
  }
  }
 }
 },
 methods: {
 peopleSum(newVal) {
 // 引入 echarts
  var echarts = require("echarts");
  let peopleSum = echarts.init(document.getElementById("peopleSum"));
  //echsrts點(diǎn)擊事件
  peopleSum.on("click", function(param) {
  console.log(param);
  console.log(param.data.name);
  console.log(param.data.value);
  console.log(param.data.userDefined);
  //$emit的第一個為傳的參的名字,第二個為傳的值 【子傳父 this.$emit】
  _this.$emit("peopleSumtoparent", param.data); 
  });

//接受動態(tài)數(shù)據(jù)時需要在 this.$nextTick(()=>{})展示
  this.$nextTick(() => {
  let obj = {};
  obj.value = newVal;
  obj.name = newVal;
  this.peopleSumTotalArr.push(obj);

  let option = {
   legend: {
   orient: "vertical",
   left: 10,
   data: [""]
   },
   series: [
   {
    type: "pie",
    radius: ["50%", "70%"],
    avoidLabelOverlap: false,
    itemStyle: {
    // 普通樣式。
    normal: {
     // 點(diǎn)的顏色。
     color: "#6998f7"
    },
    // 高亮樣式。
    emphasis: {
     // 高亮?xí)r點(diǎn)的顏色。
     color: "#6998f7"
    }
    },
    label: {
    normal: {
     show: true,
     position: "center",
     textStyle: {
     fontSize: "20"
     }
    }
    },
    labelLine: {
    normal: {
     show: false
    }
    },
    data: this.peopleSumTotalArr //動態(tài)圖表展示
   }
   ]
  };
  console.log("option", option);
  peopleSum.setOption(option);
  });
 }
 },
 mounted() {}
};
</script>
<style lang="scss" scoped>
</style>

以上這篇淺談vue單頁面中有多個echarts圖表時的公用代碼寫法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue過濾器filters的用法及時間戳轉(zhuǎn)換問題

    Vue過濾器filters的用法及時間戳轉(zhuǎn)換問題

    Vue的filters過濾器是比較常見的一個知識點(diǎn),下面我將結(jié)合時間戳轉(zhuǎn)換的例子帶你快速了解filters的用法,感興趣的朋友一起看看吧
    2021-09-09
  • 使用vue/cli出現(xiàn)defineConfig?is?not?function錯誤解決辦法

    使用vue/cli出現(xiàn)defineConfig?is?not?function錯誤解決辦法

    這篇文章主要給大家介紹了關(guān)于使用vue/cli出現(xiàn)defineConfig?is?not?function錯誤的解決辦法,當(dāng)我們在做打包配置的時候,出現(xiàn)了這個錯誤,需要的朋友可以參考下
    2023-11-11
  • vue中data里面的數(shù)據(jù)相互使用方式

    vue中data里面的數(shù)據(jù)相互使用方式

    這篇文章主要介紹了vue中data里面的數(shù)據(jù)相互使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue中當(dāng)圖片地址無效的時候,顯示默認(rèn)圖片的方法

    vue中當(dāng)圖片地址無效的時候,顯示默認(rèn)圖片的方法

    今天小編就為大家分享一篇vue中當(dāng)圖片地址無效的時候,顯示默認(rèn)圖片的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue的三種圖片引入方式代碼實例

    vue的三種圖片引入方式代碼實例

    這篇文章主要介紹了vue的三種圖片引入方式代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Vue項目自動轉(zhuǎn)換 px 為 rem的實現(xiàn)方法

    Vue項目自動轉(zhuǎn)換 px 為 rem的實現(xiàn)方法

    這篇文章主要介紹了Vue項目自動轉(zhuǎn)換 px 為 rem的實現(xiàn)方法,本文是通過一系列的配置后,轉(zhuǎn)換成熱門,具體內(nèi)容詳情大家跟隨小編一起通過本文學(xué)習(xí)吧
    2018-10-10
  • Ant?Design?Vue?Pagination分頁組件的封裝與使用

    Ant?Design?Vue?Pagination分頁組件的封裝與使用

    這篇文章主要介紹了Ant?Design?Vue?Pagination分頁組件的封裝與使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vuex中store的action和mutations用法

    vuex中store的action和mutations用法

    這篇文章主要介紹了vuex中store的action和mutations用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue使用vant中的checkbox實現(xiàn)全選功能

    vue使用vant中的checkbox實現(xiàn)全選功能

    這篇文章主要為大家詳細(xì)介紹了vue使用vant中的checkbox實現(xiàn)全選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 基于better-scroll 實現(xiàn)歌詞聯(lián)動功能的代碼

    基于better-scroll 實現(xiàn)歌詞聯(lián)動功能的代碼

    BetterScroll 是一款重點(diǎn)解決移動端(已支持 PC)各種滾動場景需求的插件,BetterScroll 是使用純 JavaScript 實現(xiàn)的,這意味著它是無依賴的。本文基于better-scroll 實現(xiàn)歌詞聯(lián)動功能,感興趣的朋友跟隨小編一起看看吧
    2020-05-05

最新評論

高阳县| 丹江口市| 永兴县| 宁乡县| 和硕县| 扬州市| 万源市| 来宾市| 察哈| 湖南省| 宽甸| 安塞县| 克东县| 张家口市| 五台县| 策勒县| 中江县| 永泰县| 大足县| 泉州市| 昌吉市| 苏州市| 台中县| 客服| 宜章县| 甘泉县| 乡宁县| 郎溪县| 兴宁市| 密山市| 长泰县| 武汉市| 兴海县| 庄河市| 霍林郭勒市| 阿城市| 秀山| 西乌珠穆沁旗| 临沧市| 通辽市| 乌兰县|