>웹 프론트엔드 >JS 튜토리얼 >vue.js는 echart를 원클릭 사용을 위한 구성 요소로 캡슐화합니다.

vue.js는 echart를 원클릭 사용을 위한 구성 요소로 캡슐화합니다.

小云云
小云云원래의
2018-01-26 10:27:401850검색

프로젝트를 할 때, 데이터를 좀 더 직관적으로 표시하기 위해 항상 차트 관련 컨트롤을 사용하는데, 차트 컨트롤을 하면 가장 먼저 떠오르는 것이 오픈소스 프로젝트인 ECharts인데, 그게 쉽지가 않네요. iview 및 element-ui와 같은 구성 요소로 사용됩니다. 매우 편리하고 편의를 위해 ECharts는 레이어에 캡슐화되었습니다.

Echarts, Remodal 및 Pikaday는 백엔드 관리 웹사이트를 개발할 때 일반적으로 사용되는 세 가지 타사 구성 요소입니다. 이 기사에서는 주로 원클릭 사용을 위해 echarts를 구성 요소로 캡슐화하는 vue.js에 대한 관련 콘텐츠를 소개하고 공유합니다. 아래에서는 별로 할 말이 없는 참고 연구, 자세한 소개를 살펴보겠습니다.

컨트롤 시연


컨트롤 사용법

요약

  • echarts 기반의 2차 패키징

  • Driven by data

  • 컨트롤 소스 코드는 다음과 같습니다. src/Components/charts

Document

props

Property Description type
_id 에 있습니다. 차트의 id가 반복되면, 오류가 보고됩니다. String
_titleText 차트 제목 String
_xText x축 설명 String
_yText y -축 설명 String
_chartData 차트 데이터 Array
_type 차트 유형, 세 가지 유형(LineAndBar/LineOrBar/Pie) 제공

호출 예시


 <chart
 :_id="&#39;testCharts&#39;"
 :_titleText="&#39;访问量统计&#39;"
 :_xText="&#39;类别&#39;"
 :_yText="&#39;总访问量&#39;"
 :_chartData="chartData"
 :_type="&#39;Pie&#39;"></chart>
 //测试数据样例 [["类别1",10],["类别2",20]]

구현

create 렌더링할 DOM


<template>
 <p :id="_id" class="chart"></p>
</template>

그리기 기능


function drawPie(chartData,id,titleText,xText,yText) {
 var chart = echarts.init(document.getElementById(id))
 var xAxisData = chartData.map(function (item) {return item[0]})
 var pieData = []
 chartData.forEach((v,i)=>{
  pieData.push({
  name:v[0],
  value:v[1]
  })
 })
 chart.setOption({
  title : {
  text: titleText,
  subtext: &#39;&#39;,
  x:&#39;center&#39;
  },
  tooltip : {
  trigger: &#39;item&#39;,
  formatter: "{a} <br/>{b} : {c} ({d}%)"
  },
  legend: {
  orient: &#39;vertical&#39;,
  left: &#39;left&#39;,
  data: xAxisData
  },
  series : [
  {
   name: xText,
   type: &#39;pie&#39;,
   radius : &#39;55%&#39;,
   center: [&#39;50%&#39;, &#39;60%&#39;],
   data:pieData,
   itemStyle: {
   emphasis: {
    shadowBlur: 10,
    shadowOffsetX: 0,
    shadowColor: &#39;rgba(0, 0, 0, 0.5)&#39;
   }
   }
  }
  ]
 })
 }

마운트가 완료되고 데이터 소스가 변경되면 다시 그리기


 watch:{
  _chartData(val){
  switch (this._type){
   case "LineAndBar":
   drawLineAndBar(val,this._id,this._titleText,this._xText,this._yText);
   break
   case "LineOrBar":
   drawLineOrBar(val,this._id,this._titleText,this._xText,this._yText);
   break
   case "Pie":
   drawPie(val,this._id,this._titleText,this._xText,this._yText);
   break
   default:
   drawLineAndBar(val,this._id,this._titleText,this._xText,this._yText);
   break
  }
  }
 },
 mounted() {
  switch (this._type){
  case "LineAndBar":
   drawLineAndBar(this._chartData,this._id,this._titleText,this._xText,this._yText);
   break
  case "LineOrBar":
   drawLineOrBar(this._chartData,this._id,this._titleText,this._xText,this._yText);
   break
  case "Pie":
   drawPie(this._chartData,this._id,this._titleText,this._xText,this._yText);
   break
  default:
   drawLineAndBar(this._chartData,this._id,this._titleText,this._xText,this._yText);
   break
  }
 }

관련 추천:

echarts 구현된 사이클 생성 그래프 효과 예시 공유

vue에 Echarts 차트 사용법 추가에 대한 자세한 설명

Echarts 사용법에 대한 자세한 소개

위 내용은 vue.js는 echart를 원클릭 사용을 위한 구성 요소로 캡슐화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.