亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue?Echarts報錯Initialize?failed:?invalid?dom解決方法

 更新時間:2023年06月01日 14:23:28   作者:椿?  
最近因為工作需要,用到了ECharts做圖表,也遇到了問題,就來跟大家總結(jié)分享一下,下面這篇文章主要給大家介紹了關于Vue?Echarts報錯Initialize?failed:?invalid?dom的解決方法,需要的朋友可以參考下

報錯原因

dom還沒掛載完成,echarts.init() 就已經(jīng)開始執(zhí)行

解決方法

1、不要用created(用mounted),created這時候還只是創(chuàng)建了實例,但模板還沒掛載完成

  • created:在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后再渲染成視圖
  • mounted:在模板渲染成html后調(diào)用,通常是初始化頁面完成后,再對html的dom節(jié)點進行一些需要的操作

也就是說created()方法是在頁面加載前調(diào)用,此時dom還未加載。所以當 有改變dom的時候用mounted, 沒有改變dom操作就用created

2、使用create情況下使用延遲加載

(1)setTimeout延遲加載

setTimeout()方法用于在指定毫秒數(shù)后調(diào)用

通過延遲加載getChart()方法,使DOM先于getChart方法加載,為DOM加載提供時間

(2)使用nextTick延遲加載

  created() {
    this.$nextTick(()=>{
      this.getchart();
    })
  },

3、用mounted還是會報錯

最近發(fā)現(xiàn)有些友友用了mounted還是會報錯,有查了查解決辦法,發(fā)現(xiàn)有博主說可以將document.getElementId獲取dom換為使用ref指向dom元素

<template>
  <!--1.設置DOM容器-->
  <div id="Charts" ref="Echarts" ></div>
</template>
<script>
//2.引入echartjs
import * as echarts from "echarts";
export default {
  name: "chart",
  created() {
    setTimeout(() => {
      this.getChart()
    }, 1000);
  },
  methods:{
    getChart(){
      // 3.定義圖標對象myChart,初始化echarts實例
      let myChart=echarts.init(this.$refs.Echarts)
      // 4.添加配置項
      let options={
        title: {  //標題
          text: 'ECharts 入門示例',  //主標題文本
          left:150,
          top:10,
        },
        tooltip: {},
        xAxis: {  //配置要在 X 軸顯示的項:
          data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']
        },
        yAxis: {},  //配置要在 Y 軸顯示的項:
        series: [
          {
            name: '銷量',
            type: 'bar', 
            data: [
              {"value":"5","date":"2022-4-8"},
              {"value":"8","date":"2023-4-8"},
            ],
          }
        ]
      }
      // 5.將配置給myChart
      myChart.setOption(options)
    }
  }
}
</script>
<style scoped>
#Charts{
  width: 500px;
  height: 500px;
  border: 1px solid red;
}
</style>

總結(jié)

到此這篇關于Vue Echarts報錯Initialize failed: invalid dom解決的文章就介紹到這了,更多相關Echarts報錯Initialize failed: invalid dom內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue圖片裁剪組件實例代碼

    Vue圖片裁剪組件實例代碼

    這篇文章主要給大家介紹了關于Vue圖片裁剪組件的相關資料,本文介紹的組件是基于vue-cropper二次封裝,vue-cropper大家應該都很熟悉了吧,需要的朋友可以參考下
    2021-07-07
  • 解決vue cli4升級sass-loader(v8)后報錯問題

    解決vue cli4升級sass-loader(v8)后報錯問題

    這篇文章主要介紹了解決vue cli4升級sass-loader(v8)后報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 前端使用vue實現(xiàn)token無感刷新的三種方案解析

    前端使用vue實現(xiàn)token無感刷新的三種方案解析

    這篇文章主要為大家介紹了前端使用vue實現(xiàn)token無感刷新的三種方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • vue組件開發(fā)之slider組件使用詳解

    vue組件開發(fā)之slider組件使用詳解

    這篇文章主要為大家詳細介紹了vue組件開發(fā)之slider組件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Vue3如何在setup中獲取元素引用(ref)

    Vue3如何在setup中獲取元素引用(ref)

    這篇文章主要介紹了Vue3如何在setup中獲取元素引用(ref)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 如何解決Element UI el-dialog打開一次后無法再次打開問題

    如何解決Element UI el-dialog打開一次后無法再次打開問題

    這篇文章主要介紹了如何解決Element UI el-dialog打開一次后無法再次打開問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Vue插槽slot詳細介紹(對比版本變化,避免踩坑)

    Vue插槽slot詳細介紹(對比版本變化,避免踩坑)

    Vue中的Slot對于編寫可復用可擴展的組件是再合適不過了,下面這篇文章主要給大家介紹了關于Vue插槽slot詳細介紹的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • vue中this.$refs.name.offsetHeight獲取不到值問題

    vue中this.$refs.name.offsetHeight獲取不到值問題

    這篇文章主要介紹了vue中this.$refs.name.offsetHeight獲取不到值問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue-cli webpack 引入swiper的操作方法

    vue-cli webpack 引入swiper的操作方法

    今天小編就為大家分享一篇vue-cli webpack 引入swiper的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 詳解vue-router 2.0 常用基礎知識點之router-link

    詳解vue-router 2.0 常用基礎知識點之router-link

    這篇文章主要介紹了詳解vue-router 2.0 常用基礎知識點之router-link,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論