vue問題之被複用的vue檔案(用vue-echarts實現),資料有快取
阿新 • • 發佈:2018-11-02
一、問題
當多個路由複用同一個模板,此時在這幾個路由間切換,被複用的模板有資料快取問題。
如一個路由頁面出現的圖表有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 = '今日不同報警類別排行'
// 整理圖示所需的series與yAxis資料
_this.historyChart(response.data, tmpyAxisData, _this)
}
}).catch(function (response) {
console.log('failure in getting data of Rank by alarm item')
})