vue使用Echarts設(shè)置數(shù)據(jù)無效問題記錄及解決方法
場(chǎng)景:
做一個(gè)動(dòng)態(tài)的柱狀圖,模擬socket效果,如圖所示:
遇到的問題:
元數(shù)據(jù)格式是這樣的:
config: { data: [ { name: '義烏市', value: 169 }, { name: '東陽市', value: 123 }, { name: '武義縣', value: 98 }, { name: '蘭溪市', value: 75 }, { name: '金東區(qū)', value: 66 }, ], colors: ['#e062ae', '#fb7293', '#e690d1', '#32c5e9', '#96bfff'], unit: '單位', showValue: true }
剛開始試著在mounted鉤子里面遍歷直接改,頁面無變化,但控制臺(tái)有效。
接著嘗試使用map,同上,失敗。
接著,使用$set()依然無效。
最終解決方案:
我的思路是:
先定義一個(gè)變量接收初始值,然后對(duì)這個(gè)變量進(jìn)行一些列的邏輯處理,最后再把這個(gè)變量賦值回去給元數(shù)據(jù),這樣操作下來,以上的問題就解決了,寫這個(gè)文章的目的就是,如果有時(shí)候$set()也不好使的時(shí)候可以嘗試這個(gè)方法。
一句話總結(jié)就是,復(fù)制元數(shù)據(jù),處理后賦值回去。
mounted () { this.clearTimer = setInterval(() => { let obj = JSON.parse(JSON.stringify(this.config)) obj.data.forEach((item, index) => { item.value += parseInt(Math.random() * 20 + 1) }) this.config = obj console.log(this.config.data) }, 5000) console.log(this.config.data) }, beforeDestroy () { clearInterval(this.clearTimer) },
小結(jié):
如果再用echarts的話,要實(shí)現(xiàn)此類功能,可能還要重新運(yùn)行初始化函數(shù)
例如:this.init(this.data)
到此這篇關(guān)于vue使用Echarts設(shè)置數(shù)據(jù)無效問題記錄的文章就介紹到這了,更多相關(guān)vue Echarts數(shù)據(jù)無效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue進(jìn)入頁面加載數(shù)據(jù)緩慢實(shí)現(xiàn)loading提示過程
這篇文章主要介紹了vue進(jìn)入頁面加載數(shù)據(jù)緩慢實(shí)現(xiàn)loading提示過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08詳解如何在Vue項(xiàng)目中實(shí)現(xiàn)累加動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了如何在你的Vue項(xiàng)目中實(shí)現(xiàn)累加動(dòng)畫,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-06-06解決vue無法加載文件C:\Users\Administrator\AppData\Roaming\npm\vue.ps
這篇文章主要介紹了解決vue無法加載文件C:\Users\Administrator\AppData\Roaming\npm\vue.ps1因?yàn)樵诖讼到y(tǒng)上禁止運(yùn)行腳本問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Vue 計(jì)數(shù)器的實(shí)現(xiàn)
這篇文章主要介紹了Vue 計(jì)數(shù)器的實(shí)現(xiàn),主要利用HTML實(shí)現(xiàn)步驟現(xiàn)在頁面上簡(jiǎn)單實(shí)現(xiàn)一個(gè)計(jì)數(shù)器,內(nèi)容簡(jiǎn)單且詳細(xì),需要的朋友可以參考一下2021-10-10