解決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 ...報錯,但願有助於你。

相關文章
相關標籤/搜索