1

工作中使用Vue中引用了echarts,在使用过程中发现有报错。
具体使用过程如下:

1.项目安装 echarts,过程不描述了,npm install echarts -S
2.在main.js中引入,跟EUI一样一样的,import echarts from 'echarts 然后链一下:Vue.prototype.$echarts = echarts
4.使用echarts初始化:this.$echarts.init(document.getElementById('myChart'))

结果如下图所示,编译没问题,作为一个0 warning的我,决不允许有波浪下在下面,所以简单看了下资料。
1.png

官网解释可以知道:TS是静态类型的语言,就像我们用java类的语言,一定要提前定义,未定义的属性直接调用会报错。

打印了下 this,果然没有链上的$echarts,如下图:
2.png

看到截图上面有个any,所以,应该是类型不识别,看到别人用声明 XXX.d.ts也可以解决,就是多个文件,我对那个不太了解,那就尝试一下。

方法一:
this.$echarts更改为(this as any).$echarts 可以解决报错
方法二:
this.$echarts更改为this['$echarts']可以解决报错

经过实践以上两种方式皆可解决Property does not exist on ...报错,希望有助于你。


mydetails
189 声望6 粉丝

一个技术