我是想赋值给const data = []
时间: 2023-12-04 09:01:39 浏览: 95
Dan_Saks总结的const所有用法.pdf
哦,抱歉,我理解错了你的问题。要将 `this.TopicCase` 的数据赋值给 `const data`,需要将 `const data` 定义为一个函数或者一个可响应式的变量,然后在需要使用 `data` 的地方调用这个函数或者变量的值。
例如,我们可以将 `const data` 定义为一个函数:
```javascript
data() {
return {
data: () => [], // 定义一个空数组的函数
scale,
tooltip,
height: 100,
TopicCase: []
}
}
```
然后在 `lysisTopicCase()` 方法中,将 `this.TopicCase` 的数据赋值给 `data()` 函数的返回值:
```javascript
methods: {
async lysisTopicCase() {
const res = await eightWeekTotalAnalysisTopicCase();
const topicCase = res.data.data;
const data = topicCase.map(item => ({ x: item.time, y: item.score }));
this.TopicCase = topicCase;
this.data = () => data; // 将数据赋值给 data() 的返回值
}
}
```
这样,每次调用 `data()` 函数时,都会返回最新的数据。需要注意的是,因为 `data()` 函数的返回值是一个函数,所以在使用 `data()` 的地方需要将其当做函数调用,例如:
```html
<template>
<div>
<div id="chart" style="width: 600px; height: 400px;"></div>
</div>
</template>
<script>
import echarts from 'echarts';
export default {
data() {
return {
data: () => [],
scale: [{ dataKey: 'x', min: 2 }, { dataKey: 'y', title: '时间', min: 1, max: 22 }],
tooltip: ['x*y', (x, y) => ({ name: x, value: y })],
height: 100,
TopicCase: []
}
},
methods: {
async lysisTopicCase() {
const res = await eightWeekTotalAnalysisTopicCase();
const topicCase = res.data.data;
const data = topicCase.map(item => ({ x: item.time, y: item.score }));
this.TopicCase = topicCase;
this.data = () => data;
}
},
mounted() {
this.lysisTopicCase().then(() => {
const chart = echarts.init(document.getElementById('chart'));
chart.setOption({
xAxis: { type: 'time' },
yAxis: {},
series: [{ type: 'line', data: this.data() }] // 注意这里需要调用 this.data() 函数
});
});
}
}
</script>
```
希望这次回答能够解决你的问题。
阅读全文