设为首页 加入收藏

TOP

vue学习【一】vue引用封装echarts并展示多个echarts图表(二)
2019-09-17 16:52:52 】 浏览:42
Tags:vue 学习 引用 封装 echarts 展示 多个 图表
v> 7 </div> 8 </template> 9 10 <script> 11 import echartscom from '@/components/echartscom.vue' 12 export default { 13 data() { 14 return { 15 msg:{ 16 chartData1: [ 17 {value:335, name:'直接访问'}, 18 {value:310, name:'邮件营销'}, 19 {value:234, name:'联盟广告'}, 20 {value:135, name:'视频广告'}, 21 {value:1548, name:'搜索引擎'} 22 ], 23 chartData2: [ 24 {value:335, name:'直接访问'}, 25 {value:310, name:'邮件营销'}, 26 {value:234, name:'联盟广告'}, 27 {value:135, name:'视频广告'}, 28 {value:1548, name:'搜索引擎'} 29 ], 30 } 31 }; 32 }, 33 methods: { 34 }, 35 mounted() {}, 36 components: { 37 echartscom 38 } 39 }; 40 </script> 41 42 <style> 43 .test{ 44 float: left; 45 } 46 </style>

  子组件:echartscom.vue

 1 <!-- echartscom.vue -->
 2 <template>
 3   <div class="charttest">
 4     <div style="width:400px;height:400px;" :id="echarts" class="echarts" ref="echarts">
 5     </div>
 6   </div>
 7 </template>
 8  
 9 <script>
10   import echarts from 'echarts'
11   export default {
12     name:'echartscom',
13     props: {
14       chartData: {
15         type: Array,
16         default: () => []
17       }
18     },
19     data() {
20       return {
21       };
22     },
23     methods: {
24       drawCharts() {
25         var myChart = echarts.init(document.getElementById(this.echarts));
26         myChart.setOption({
27           tooltip: {
28             trigger: 'item',
29             formatter: '{a} <br/>{b}: {c} ({d}%)'
30           },
31           legend: {
32             orient: 'vertical',
33             x: 'left',
34             data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
35           },
36           series: [
37             {
38               name: '访问来源',
39               type: 'pie',
40               radius: ['50%', '70%'],
41               avoidLabelOverlap: false,
42               label: {
43                 normal: {
44                   show: false,
45                   position: 'center'
46                 },
47                 emphasis: {
48                   show: true,
49                   textStyle: {
50                     fontSize: '30',
51                     fontWeight: 'bold'
52                   }
53                 }
54               },
55               labelLine: {
56                 normal: {
57                   show: false
58                 }
59               },
60               data: this.chartData
61             }
62           ]
63         });
64       }
65     },
66     computed: {
67       echarts() {
68         return 'echarts' + Math.random() * 100000;
69       }
70     },
71     mounted() {
72       this.drawCharts();
73     },
74     components: {}
75   };
76 </script>
77  
78 <style></style>

  此时浏览器自动刷新,看一下结果如何,结果如图5所示。

图5

本文内容较多,其实思路很简单,代码全都po出来了,可以复制代码先跑一遍,然后结合我的文字看代码,这样掌握得比较快。

下一章讲的是echarts动态传值,有喜欢的小伙伴联系我哦。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Vue.js 源码分析(三十二) 总结 下一篇JS根据一个经纬度及距离角度,算..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目