原因: 引入mock.js的原因
https://github.com/ElemeFE/v-charts/issues/404#issuecomment-400587391
分析:
ve-map 獲取地圖數(shù)據(jù)的時候使用了一個簡單的 ajax 請求,然而項目中的 mockjs 把 xhr 封裝了一層,應(yīng)該觸發(fā)的 onload 沒有觸發(fā)出來,所以這個 promise 一直在 pending 狀態(tài),組件的渲染流程沒有繼續(xù)下去,所以就沒有正常顯示出來。
有兩種方案可以解決這個問題:
- 去掉 mockjs ,使用別的方法來處理測試數(shù)據(jù)。
- 使用 mapOrigin 屬性,預(yù)先在項目中引入地圖 json 并通過 mapOrigin 傳遞給組件,這樣就不需要通過 ajax 的方式引入地圖了。