1. 程式人生 > >vue問題之被複用的vue檔案(用vue-echarts實現),資料有快取

vue問題之被複用的vue檔案(用vue-echarts實現),資料有快取

一、問題

當多個路由複用同一個模板,此時在這幾個路由間切換,被複用的模板有資料快取問題。
如一個路由頁面出現的圖表有5個柱狀圖,在另一個路由頁面出現的圖表是7個柱狀圖,且資料項都不同,
問題:在另一個路由頁面會先出現第一個路由頁面的5個柱狀圖,再載入應有的7個柱狀圖

二、解決方法

在vue渲染之前,清空echarts——series——data的資料、echarts——yAxis——data的資料
資料在獲取後臺資料之前清空,資料獲取後,重新新增圖表應有的資料
// clear data
BarByYAxisList.series[0].data = []
BarByYAxisList
.yAxis.data = [] _this.axios.get(urlJson) .then(response => { if (response.data) { let tmpyAxisData = [] // 設定圖示title BarByYAxisList.title.text = '今日不同報警類別排行' // 整理圖示所需的seriesyAxis資料 _this.historyChart(response.data, tmpyAxisData, _this) } }).catch(function (response) { console.log('failure in
getting data of Rank by alarm item') })