鍍金池/ 問答/HTML/ vue 用echarts能不能先加載組件再加載echarts?

vue 用echarts能不能先加載組件再加載echarts?

主要是一個單文件組件包含一個 echarts圖標,然后數(shù)據(jù)可能比較多,切換路由的時候會停頓一下,怎么先加載組件再加載echarts?

回答
編輯回答
貓館

echarts圖標。。。
意思是數(shù)據(jù)是寫死在代碼里的么?
試試setOption異步執(zhí)行吧。
如果是走請求獲得的數(shù)據(jù)。那就比較奇怪了,因為本身就是異步的。

2017年3月3日 12:45
編輯回答
孤巷

你的意思應該是需要組件來進行占位,等到數(shù)據(jù)請求回來之后再填充數(shù)據(jù)?
如果是這樣的話,你的問題就是如何在填充數(shù)據(jù)之前顯示組件骨架,暫時想到兩種方法
1.考慮vue基于數(shù)據(jù)驅動,可以將組件依賴的數(shù)據(jù)初始化空值或者假值,例如:柱狀圖,將X軸、Y軸、數(shù)據(jù)(option)抽象成eOption后放在data里,再給出一個默認的值,然后拿到數(shù)據(jù)后重新改變eOption,然后再調用一次dom.setOption(eOption)。
2.使用echarts的loading動畫,實現(xiàn)一個加載的過渡效果。

2017年12月19日 23:42
編輯回答
款爺

具體是怎么實現(xiàn)的啊,我的就是本地如果有數(shù)據(jù)就直接setOption,然后路由就會卡頓,第一次加載時,本地沒有數(shù)據(jù),路由不卡頓,可是echart在在哪轉(這里我知道是數(shù)據(jù)加載問題),然后我就不想每次加載,都是轉。我就想在本地取,可是本地取了,路由卡頓,

clipboard.png

2017年9月17日 17:57
編輯回答
乖乖噠

我開始是在 mounted鉤子函數(shù)中初始化以及setoption,出現(xiàn)的是同樣的情況,即在路由切換的時候,地址欄已經切換過來,但是組件卻還沒有加載,測試了下加載時間,花了3.5s左右
后來在created鉤子函數(shù)中使用了 $nextTick(callback)就解決了
clipboard.png

vm.$nextTick( [callback] )
參數(shù):
{Function} [callback]
用法:
    將回調延遲到下次 DOM 更新循環(huán)之后執(zhí)行。在修改數(shù)據(jù)之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一樣,不同的是回調的 this 自動綁定到調用它的實例上。
2017年8月26日 13:12
編輯回答
呆萌傻

試試在mounted里面搞個setTimeout

2017年10月10日 06:48
編輯回答
我甘愿

遇到同樣的問題,求

2018年8月8日 17:32