<template> <div> <div ref="chart" style="width: 100%; height: 500px;"></div> </div> </template> <script> export default { data() { return { myChart: null, // echarts实例 chartData: {}, // 后端返回的数据 } }, mounted() { // 创建echarts实例 this.myChart = echarts.init(this.$refs.chart) }, methods: { async fetchData() { try { const res = await axios.get('http://localhost:7001/home/query') this.chartData = res.data // 绘制图表 this.myChart.setOption({ series: [{ type: 'pie', data: [ {name: 'stagesz', value: this.chartData.stagesz}, {name: 'stage', value: this.chartData.stage}, {name: 'suborder', value: this.chartData.suborder}, {name: 'announce', value: this.chartData.announce}, {name: 'zs', value: this.chartData.zs}, {name: 'mytyper', value: this.chartData.mytyper}, {name: 'mytypez', value: this.chartData.mytypez}, {name: 'cld', value: this.chartData.cld}, {name: 'clb', value: this.chartData.clb}, ] }] }) } catch (error) { console.log(error) } } } } </script>为什么没有数据请更正
时间: 2023-07-16 16:17:08 浏览: 107
vue3-echarts5:vue3 + echarts5
5星 · 资源好评率100%
根据你提供的代码,你需要调用 `fetchData` 方法来获取数据并绘制图表。你可以在生命周期钩子函数 `mounted` 中调用 `fetchData` 方法,如下所示:
```javascript
mounted() {
// 创建echarts实例
this.myChart = echarts.init(this.$refs.chart)
// 获取数据并绘制图表
this.fetchData()
}
```
另外,你需要确保后端返回的数据格式正确,并且能够正确地映射到图表配置项中。你可以在控制台中打印 `res.data` 来查看返回的数据是否正确。如果数据格式不正确,你需要对后端的数据进行处理,使其能够正确地映射到图表配置项中。
阅读全文