接口返回{stagesz: 0, stage: 0, suborder: 0, announce: 0, zs: 10, mytyper: 2, mytypez: 8, cld: 10, clb: 0}这样的数据data(){ return{ data: [ { value: 212, name: 'Search Engine' }, { value: 735, name: 'Direct' }, { value: 580, name: 'Email' }, { value: 484, name: 'Union Ads' }, { value: 300, name: 'Video Ads' } ], } }, mounted() { this.Draw() this.$axios.get(this.$url + '/home/query').then((res) => { console.log(res.data) // 将接口返回的数据存储到 data 对象中 this.data = res.data // 绘制饼图 this.Draw() }).catch((err) => { console.log(err) alert('请求失败!请检查后端接口!!!!') }) }, methods: { Draw() { // 基于准备好的dom,初始化echarts实例 let myChart = this.$echarts.init(document.getElementById('myChart')) // 绘制图表 myChart.setOption({ // options配置项 tooltip: { trigger: 'item' }, legend: { top: '5%', left: 'center' }, series: [ { name: 'Access From', type: 'pie', radius: ['40%', '70%'], avoidLabelOverlap: false, itemStyle: { borderRadius: 10, borderColor: '#fff', borderWidth: 2 }, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: 40, fontWeight: 'bold' } }, labelLine: { show: false }, data: this.data, } ] })如何将数据回显出来
时间: 2023-07-16 13:15:07 浏览: 62
你可以在模板中使用 v-for 指令遍历 data 数组,然后将每个对象的 name 和 value 属性分别渲染到饼图的图例和数据项中。示例代码如下:
```
<template>
<div>
<div id="myChart" style="width: 600px; height: 400px;"></div>
<ul>
<li v-for="(item, index) in data" :key="index">
{{ item.name }}: {{ item.value }}
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
data: [
{ value: 212, name: 'Search Engine' },
{ value: 735, name: 'Direct' },
{ value: 580, name: 'Email' },
{ value: 484, name: 'Union Ads' },
{ value: 300, name: 'Video Ads' }
]
}
},
mounted() {
// 绘制饼图
this.Draw()
// 发送请求获取数据
this.$axios.get(this.$url + '/home/query').then((res) => {
console.log(res.data)
// 将接口返回的数据存储到 data 对象中
this.data = res.data
// 重新绘制饼图
this.Draw()
}).catch((err) => {
console.log(err)
alert('请求失败!请检查后端接口!!!!')
})
},
methods: {
Draw() {
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(document.getElementById('myChart'))
// 绘制图表
myChart.setOption({
// options配置项
tooltip: {
trigger: 'item'
},
legend: {
top: '5%',
left: 'center'
},
series: [
{
name: 'Access From',
type: 'pie',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: 40,
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: this.data
}
]
})
}
}
}
</script>
```