1.错误信息如图
2.讲解
实际值虽然初始化了但是实际上还没渲染到dom上,
3.解决方法
// 方法1
function initEcharts () {
// 新建一个promise对象
let newPromise = new Promise((resolve) => {
resolve()
})
//然后异步执行echarts的初始化函数
newPromise.then(() => {
// 此dom为echarts图标展示dom
echarts.init(DOm)
})
}
// 方法2
//这里不要用created(用mounted),created这时候还只是创建了实例,但模板还没挂载完成
mounted() {
this.initData()
}
// 方法3
//用this.$nextTick(()=>{}) (这个回调函数会在数据挂载更新完之后执行,所以可行
this.$nextTick(() => {
charts = this.$echarts.init(this.$refs.echart)
charts.clear()
charts.resize()
charts.setOption(option)
this.loading = false
})
//方法4
this.$nextTick(() => {
this.initChart()
})