工做中使用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的我,决不容许有波浪下在下面,因此简单看了下资料。npm
官网解释能够知道:TS是静态类型的语言,就像咱们用java类的语言,必定要提早定义,未定义的属性直接调用会报错。echarts
打印了下 this,果真没有链上的$echarts,以下图:this
看到截图上面有个any,因此,应该是类型不识别,看到别人用声明 XXX.d.ts也能够解决,就是多个文件,我对那个不太了解,那就尝试一下。spa
方法一:
this.$echarts
更改成(this as any).$echarts
能够解决报错
方法二:
this.$echarts
更改成this['$echarts']
能够解决报错
Property does not exist on ...
报错,但愿有助于你。