挂接钩中的错误:“ TypeError:无法读取null的属性'type'

时间:2020-03-11 11:30:12

标签: vue.js echarts

我正在使用echarts来绘制Heatmap

但是给我错误!

已挂接的钩子中出现错误:“ TypeError:无法读取null的属性'type'”

mounted() {
  this.initChart()
},

我正在从这里使用json数据: https://www.echartsjs.com/data/asset/data/hangzhou-tracks.json

仅从上述链接中提取了1个数据。

<template>
  <div
    :id="id"
    :class="className"
    :style="{height:height,width:width}"
  />
</template>

<script>
import echarts from 'echarts'
import resize from '../mixins/resize'

export default {
  mixins: [resize],
  props: {
    className: {
      type: String,
      default: 'chart'
    },
    id: {
      type: String,
      default: 'newCustomerForecastChart'
    },
    width: {
      type: String,
      default: '200px'
    },
    height: {
      type: String,
      default: '200px'
    }
  },
  data() {
    return {
      chart: null,
      dataArr: [
        {
            "coord":
            [
                120.14322240845,
                30.236064370321
            ],
            "elevation": 21
        },
        {
            "coord":
            [
                120.14280555506,
                30.23633761213
            ],
            "elevation": 5
        }
      ]
    }
  },
  mounted() {   
     this.initChart()
  },
  beforeDestroy() {
    if (!this.chart) {
      return
    }
    this.chart.dispose()
    this.chart = null
  },
  methods: {
    initChart() {
      var points = [
          {
            "coord":
            [
                120.14322240845,
                30.236064370321
            ],
            "elevation": 21
        },
        {
            "coord":
            [
                120.14280555506,
                30.23633761213
            ],
            "elevation": 5
        }
      ]
      this.chart = echarts.init(document.getElementById(this.id))
      var colors = ['#5793f3', '#d14a61', '#675bba'];

      this.chart.setOption({
        animation: false,
        bmap: {
            center: [120.13066322374, 30.240018034923],
            zoom: 14,
            roam: true
        },
        visualMap: {
            show: false,
            top: 'top',
            min: 0,
            max: 5,
            seriesIndex: 0,
            calculable: true,
            inRange: {
                color: ['blue', 'blue', 'green', 'yellow', 'red']
            }
        },
        series: [{
            type: 'heatmap',
            coordinateSystem: 'bmap',
            data: points,
            pointSize: 5,
            blurSize: 6
        }]
    });

    var bmap = myChart.getModel().getComponent('bmap').getBMap();
    bmap.addControl(new BMap.MapTypeControl());
    }
  }
}
</script>

实际上是什么问题?

0 个答案:

没有答案