> 웹 프론트엔드 > JS 튜토리얼 > vue2.0에서 사용자 정의 원형 차트(Echarts) 구성 요소를 구현하는 방법

vue2.0에서 사용자 정의 원형 차트(Echarts) 구성 요소를 구현하는 방법

亚连
풀어 주다: 2018-06-02 09:21:35
원래의
3750명이 탐색했습니다.

이제 vue2.0에서 원형 차트(Echarts) 구성 요소를 사용자 정의하는 방법을 공유하겠습니다. 참고할 만한 가치가 있고 모든 분들께 도움이 되기를 바랍니다.

1. 사용자 정의 차트 구성 요소

Echarts.vue

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

<!-- 自定义 echart 组件 -->

<template>

 <p>

 <!-- echart表格 -->

 <p id="myChart" :style="echartStyle"></p>

 </p>

</template>

  

<script>

 export default {

 props: {

  // 样式

  echartStyle: {

  type: Object,

  default(){

   return {}

  }

  },

  // 标题文本

  titleText: {

  type: String,

  default: &#39;&#39;

  },

  // 提示框键名

  tooltipFormatter: {

  type: String,

  default: &#39;&#39;

  },

  // 扇形区域名称

  opinion: {

  type: Array,

  default(){

   return []

  }

  },

  // 提示框标题

  seriesName: {

  type: String,

  default: &#39;&#39;

  },

  // 扇形区域数据

  opinionData: {

  type: Array,

  default(){

   return []

  }

  },

 },

 data(){

  return {

  //

  }

 },

 mounted(){

  this.$nextTick(function() {

  this.drawPie(&#39;myChart&#39;)

  })

 },

 methods: {

  // 监听扇形图点击

  eConsole(param) {

  // 向父组件传值

  this.$emit("currentEchartData",param.name);

  },

  // 绘制饼状图

  drawPie(id){

  this.charts = this.$echarts.init(document.getElementById(id));

  this.charts.on("click", this.eConsole);

  this.charts.setOption({

   title: {

   text: this.titleText, // 标题文本

   left: &#39;center&#39;

   },

   tooltip : {

   trigger: &#39;item&#39;,

   formatter: "{a} <br/> " + this.tooltipFormatter + ":{c}"

   },

   legend: {

   bottom: 20,

   left: &#39;center&#39;,

   data: this.opinion // 扇形区域名称

   },

   series : [

   {

    name:this.seriesName, // 提示框标题

    type: &#39;pie&#39;,

    radius : &#39;65%&#39;,

    center: [&#39;50%&#39;, &#39;50%&#39;],

    selectedMode: &#39;single&#39;,

    data:this.opinionData, // 扇形区域数据

    itemStyle: {

    emphasis: {

     shadowBlur: 10,

     shadowOffsetX: 0,

     shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;

    }

    }

   }

   ]

  })

  }

 }

 }

</script>

  

<style lang="less" scoped>

 #myChart{

 width: 100%;

 }

</style>

로그인 후 복사

2. 페이지 호출

Diagram.vue

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

<!-- 图表 -->

<template>

 <p>

 <!-- 标题栏 -->

 <mt-header title="图表">

  <router-link to="/" slot="left">

  <mt-button icon="back">返回</mt-button>

  </router-link>

 </mt-header>

 <!-- 内容 -->

 <m-echarts

  :echartStyle="s"

  :titleText="a"

  :tooltipFormatter="b"

  :opinion="c"

  :seriesName="d"

  :opinionData="e"

  v-on:currentEchartData="getEchartData"

 ></m-echarts>

 </p>

</template>

  

<script>

 import mEcharts from &#39;../components/Echarts&#39;

  

 export default {

 name: &#39;Diagram&#39;,

 components: {

  mEcharts

 },

 data(){

  return {

  a:&#39;水果销售统计&#39;,

  b:&#39;销售数量&#39;,

  c:[&#39;香蕉&#39;,&#39;苹果&#39;,&#39;橘子&#39;],

  d:&#39;销售统计&#39;,

  e:[

   {value:3, name:&#39;香蕉&#39;},

   {value:3, name:&#39;苹果&#39;},

   {value:3, name:&#39;橘子&#39;}

   ],

  s: {

   height: &#39;&#39;

  }

  }

 },

 created(){

  // 获取屏幕高度

  this.s.height = document.documentElement.clientHeight - 44 + &#39;px&#39;;

 },

 methods: {

  getEchartData(val){

  console.log(val);

  }

 }

 }

</script>

  

<style lang="less" scoped>

 //

</style>

로그인 후 복사

3 . 렌더링

은 제가 여러분을 위해 편집한 내용입니다. 앞으로 도움이 되길 바랍니다.

관련 기사:

Vue.directive에서 사용자 정의 명령 관련 문제 발견

JavaScript 이미지 처리 및 합성 기술에 대해 자세히 설명(자세한 튜토리얼)

WeChat 웹 측에서 백포스 새로 고침을 구현하는 방법 기능(자세한 튜토리얼)

위 내용은 vue2.0에서 사용자 정의 원형 차트(Echarts) 구성 요소를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿