注:其實完全可以在實例化之前,使用echarts.init(document.getElementById('xxx')).dispose();解決
項目開發中有一個echarts折線圖表展示,根據下拉框選擇,請求不同接口,結合時間選擇,傳給后台,進而獲取數據進行繪制。其中信號強度為多條折線圖,鏈路質量為單條折線,根據下拉進行切換,點擊查詢后,不能完全繪制成功。
分析:切換繪制時,上一個繪制內容未能完全銷毀導致。
解決:
<!--template--> <div id="myEcharts" v-if="alive"></div> //script data() { return { alive: true } }, methods: { //查詢按鈕觸發,根據下拉判斷調用那個接口,進行url和參數組裝 echartsHandle() { //url和參數組裝 ..... //調用axios請求方法 this.alive = false;//此時銷毀 this.$nextTick(() => {//結合$nextTick使用 this.alive = true; this.getEchartsData(url,param); }) } }