Initialize failed: invalid dom.
时间: 2023-08-23 10:13:11 浏览: 96
这个错误是因为在切换页面时,图表的DOM元素被销毁,但是数据返回后仍然尝试渲染图表,导致找不到有效的DOM元素而报错。解决这个问题的方法有几种。
首先,可以在渲染图表之前加一个判断,判断DOM元素是否存在。如果DOM元素不存在,就不进行图表的渲染。这样可以避免找不到DOM元素而报错。可以使用类似下面的代码:
```javascript
pieChart() {
const chartDom = this.$refs.channelPie
if (chartDom) {
const myChart = echarts.init(chartDom)
const option = { ----}
option && myChart.setOption(option)
}
}
```
另外,可以将获取接口数据的代码从`mounted`生命周期钩子函数中移动到`created`生命周期钩子函数中。因为`created`在模板渲染成HTML前调用,而`mounted`在模板渲染成HTML后调用。这样可以确保在渲染图表之前数据已经获取到。可以使用类似下面的代码:
```javascript
created() {
// 获取接口数据的代码
},
mounted() {
this.pieChart()
}
```
通过以上两种方法的组合,可以解决"Initialize failed: invalid dom"的问题。
#### 引用[.reference_title]
- *1* *3* [vue使用echarts报错:Error: Initialize failed: invalid dom.](https://blog.csdn.net/qq_44179024/article/details/129183480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Vue Echarts报错Initialize failed: invalid dom.](https://blog.csdn.net/weixin_52418790/article/details/123690752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文