echarts访问不到vue的方法

vue+echarts this指向问题

vue中使用echarts,但是在echarts鼠标点击事件中,想要使用vue methods中定义的函数(使用this.函数名调用),发现报函数未定义错误。

原因:此时this指向的是echarts 而非 vue
解决方法:
使用箭头函数

修改前

tooltip: {
            trigger: 'axis',
            formatter:function (params)  {
              //x轴名称
              let name = params[0].name;
              //值
              let value = Number(params[0].value);
              let valueFilter = '<i style="background-color: #0c8ec3" class="status-point"></i>' + "冒烟打回率:" + '<span style="font-weight: bolder">' + Number(params[0].value).toString() + "%" + '</span>' + '</br>';
              let result  = this.getBackInfo(params, name, callBackDict)
              if (value > 0 && result) {
                return name + '</br>' + params[0].marker + valueFilter + '</br>' + '<span style="font-weight: bolder">' + '打回迭代:' + '</span>' + '</br>' + result;
              } else {
                return name + '</br>' + params[0].marker + valueFilter
              }

            },

 

修改后

tooltip: {
            trigger: 'axis',
            formatter: (params) => {
              //x轴名称
              let name = params[0].name;
              //值
              let value = Number(params[0].value);
              let valueFilter = '<i style="background-color: #0c8ec3" class="status-point"></i>' + "冒烟打回率:" + '<span style="font-weight: bolder">' + Number(params[0].value).toString() + "%" + '</span>' + '</br>';
              let result  = this.getBackInfo(params, name, callBackDict)
              if (value > 0 && result) {
                return name + '</br>' + params[0].marker + valueFilter + '</br>' + '<span style="font-weight: bolder">' + '打回迭代:' + '</span>' + '</br>' + result;
              } else {
                return name + '</br>' + params[0].marker + valueFilter
              }

            },

 

posted on 2022-06-13 15:37  阿虾  阅读(187)  评论(0编辑  收藏  举报

导航