我正在尝试使用反应数据mixin for
vue-chartjs
用于设置初始数据的挂载函数正常工作,我可以使用API响应正确查看图表:
fetchSessionTrends() {
axios.get(endpoint)
.then(({data}) => {
this.sessions = data.map(session => session.sessions);
this.sessionLabels = data.map(label => label.date);
this.loaded = true;
});
},
数据:
data() {
return {
endpoint: 'public/api/sessions',
sessions: [],
sessionLabels: [],
loaded: false,
daysFilter: 14
};
},
我显示带有文本字段的图表以提供反应部分 – 期望是它再次调用端点并接收新响应
Go
然而,要测试反应部分,现在我只是直接更改数据数组以查看它是如何工作的:
refreshSessions() {
this.sessions = [1, 2, 3];
this.sessionlabels = ["june", "july", "august"];
},
是的,所以这给了我错误
[Vue warn]: Error in callback for watcher "chartData": "TypeError: Cannot read property 'map' of undefined" found in ....
TypeError: Cannot read property 'map' of undefined
LineChart.js如文档中所述,此处缩写为空格
import { Line, mixins } from 'vue-chartjs';
const { reactiveProp } = mixins
extends: Line,
mixins: [reactiveProp],
props: {
chartData: {
type: Array,
required: true
},
chartLabels: {
type: Array,
required: true
}
},
mounted() {
this.renderChart({
labels: this.chartLabels,
datasets: [
{
label: 'sessions',
data: this.chartData
}
]
}, this.options)
}
因此,图表最初工作正常,但我似乎无法让反应部分工作.