需求:把对象的{浆团: '18396', 裂口: '19352', 毛布: '15300', 洞眼: '18247', 周期: '14273'}中的属性取出来传给子组件ecarts柱状图做横坐标,把属性值取出来做纵坐标。
要实现将对象的属性和属性值分别传递给子组件ECharts的柱状图,您可以按照以下步骤进行操作:
- 首先,您需要将对象的属性和属性值分别提取出来,然后将它们传递给子组件。
- 在父组件中,将属性和属性值分别存储在两个数组中。
- 将这两个数组作为参数传递给子组件,用于绘制柱状图。
以下是一个简单的示例代码,演示如何实现这一功能:
父组件代码:
<template>
<div>
<child-component :xAxisData="xAxisData" :yAxisData="yAxisData"></child-component>
</div>
</template>
<script>
export default {
data() {
return {
dataObj: {
浆团: '18396',
裂口: '19352',
毛布: '15300',
洞眼: '18247',
周期: '14273'
},
xAxisData: [],
yAxisData: []
};
},
mounted() {
this.xAxisData = Object.keys(this.dataObj);
this.yAxisData = Object.values(this.dataObj).map(value => parseInt(value));
}
};
</script>
子组件代码(ECharts柱状图):
<template>
<div ref="chart" style="width: 600px; height: 400px;"></div>
</template>
<script>
import echarts from 'echarts';
export default {
props: ['xAxisData', 'yAxisData'],
mounted() {
let myChart = echarts.init(this.$refs.chart);
let option = {
xAxis: {
type: 'category',
data: this.xAxisData
},
yAxis: {
type: 'value'
},
series: [{
data: this.yAxisData,
type: 'bar'
}]
};
myChart.setOption(option);
}
};
</script>
在上述代码中,父组件将对象的属性和属性值分别提取出来存储在xAxisData
和yAxisData
数组中,然后将这两个数组作为参数传递给子组件。子组件使用ECharts绘制柱状图,横坐标为属性,纵坐标为属性值。
通过以上代码,您可以实现将对象的属性和属性值传递给子组件ECharts的柱状图。