前言:在vue中引入echarts ,应用报错, “TypeError: Cannot read properties of undefined (reading ‘init‘)
当时检查了导入引用都没有出错,查阅文档发现可能是下载了Echarts的最新版本
所以就重新下载了4.0版本覆盖之前下载的版本启动项目运行成功了

npm install echarts@4.8.0 --save

源代码:

##src/main.js
// 引入 ECharts 主模块
let echarts = require('echarts/lib/echarts');
// 引入折线图/柱状图等组件
require('echarts/lib/chart/line')
require('echarts/lib/chart/bar')
require('echarts/lib/chart/radar')
// 引入提示框和title组件,图例
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
 require('echarts/lib/component/legend')
 require('echarts/lib/component/legendScroll')//图例滚动
Vue.prototype.$echarts = echarts 
##app.vue
  <div id="box"></div>
  mounted(){
    this.getEcharts()
  },
  methods:{
    getEcharts(){
       // 基于准备好的dom,初始化echarts实例
      var myChart = this.$echarts.init(document.getElementById('box'));
      // 指定图表的配置项和数据
      var option = {
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
          data: ['2015','2016','2017']
        },
       dataset: {
    // 用 dimensions 指定了维度的顺序。直角坐标系中,如果 X 轴 type 为 category,
    // 默认把第一个维度映射到 X 轴上,后面维度映射到 Y 轴上。
    // 如果不指定 dimensions,也可以通过指定 series.encode
    // 完成映射,参见后文。
    dimensions: ['product', '2015', '2016', '2017'],
    source: [
      { product: 'Matcha Latte', '2015': 43.3, '2016': 85.8, '2017': 93.7 },
      { product: 'Milk Tea', '2015': 83.1, '2016': 73.4, '2017': 55.1 },
      { product: 'Cheese Cocoa', '2015': 86.4, '2016': 65.2, '2017': 82.5 },
      { product: 'Walnut Brownie', '2015': 72.4, '2016': 53.9, '2017': 39.1 }
    ]
  },
  xAxis: { type: 'category' },
  yAxis: {},
  series: [{ type: 'bar' }, { type: 'bar' }, { type: 'bar' }]
      };

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
    }
  }

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐