工做中使用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 ...
報錯,但願有助於你。