解决Property '$echarts' does not exist on type '***'.Vetur(2339)办法

工做中使用Vue中引用了echarts,在使用过程当中发现有报错。
具体使用过程以下:java

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.pngnpm

官网解释能够知道:TS是静态类型的语言,就像咱们用java类的语言,必定要提早定义,未定义的属性直接调用会报错。echarts

打印了下 this,果真没有链上的$echarts,以下图:
2.pngthis

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

方法一:
this.$echarts更改成 (this as any).$echarts 能够解决报错
方法二:
this.$echarts更改成 this['$echarts']能够解决报错

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

相关文章
相关标签/搜索