这里遇到的问题是
引入 Echarts因为在Dom还没加载的时候,option 获取元素,echarts.init(document.queryselect(’#dom’))
就开始检测dom,并尝试去获取它,但是在vue中引用echarts的中,发现在模板dom还没加载的时候
echarts.init() 就已经开始执行,所以会报错 Initialize failed: invalid dom

2、解决办法:
根本原因就是dom没加载,echarts没有检测到dom,那么我就让dom加载后再去获取dom,这里就要用到es6语法中的
promise

// 方法
function initEcharts () {
    // 新建一个promise对象
    let newPromise = new Promise((resolve) => {
        resolve()
    })
    //然后异步执行echarts的初始化函数
    newPromise.then(() => {
        //    此dom为echarts图标展示dom
        echarts.init(DOm)
    })
}

// 方法
function initEcharts () {
	// 新建一个promise对象
	let newPromise = new Promise((resolve) => {
		resolve()
	})
	//然后异步执行echarts的初始化函数
	newPromise.then(() => {
		//	此dom为echarts图标展示dom
		echarts.init(DOm)
	})
}


办法很简单,就是一个异步操作
 

Logo

前往低代码交流专区

更多推荐