先 npm 安裝 echartsvue
npm install echarts --save
// main.js import myCharts from './comm/js/myCharts.js' Vue.use(myCharts)
// myCharts.js /** * 各類畫echarts圖表的方法都封裝在這裏 * 注意:這裏echarts沒有采用按需引入的方式,只是爲了方便學習 */ import echarts from 'echarts' const install = function(Vue) { Object.defineProperties(Vue.prototype, { $chart: { get() { return { //畫一條簡單的線 line1: function (id) { this.chart = echarts.init(document.getElementById(id)); this.chart.clear(); const optionData = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [820, 932, 901, 934, 1290, 1330, 1320], type: 'line', smooth: true }] }; this.chart.setOption(optionData); }, } } } }) } export default { install }
// helloWorld.vue <template> <div class="hello"> <div id="chart1"></div> </div> </template> <script> export default { name: 'HelloWorld', data () { return { } }, mounted() { this.$chart.line1('chart1'); } } </script> <style scoped> #chart1 { width: 300px; height: 300px; } </style>
先 npm 安裝 vue-echartsgit
npm install vue-echarts --save
除了全量引用echarts,咱們還能夠採用按需引入的方式github
// main.js import ECharts from 'vue-echarts/components/ECharts' import 'echarts/lib/chart/line' Vue.component('chart', ECharts)
// helloWorld.vue <template> <div class="hello"> <chart ref="chart1" :options="orgOptions" :auto-resize="true"></chart> </div> </template> <script> export default { name: 'HelloWorld', data () { return { orgOptions: {}, } }, mounted() { this.orgOptions = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [820, 932, 901, 934, 1290, 1330, 1320], type: 'line', smooth: true }] } } } </script>
注意: 圖表自適應 :auto-resize="true" 偶爾不起做用,能夠試試 添加屬性 autoresize,如npm
<template> <div class="hello"> <chart ref="chart1" :options="orgOptions" autoresize> </chart> </div> </template>