async getData() { const {data:ret} = await this.$http.get('yearCount') this.allData = ret // console.log(ret); this.updataChart() }, updataChart() { const sellerValues = this.allData.map((item) => { return item.value }) const sellerNames = this.allData.map((item) => { return item.name })报错chart1.vue:64 Uncaught (in promise) TypeError: this.allData.map is not a function,怎么解决?
时间: 2023-07-16 22:14:11 浏览: 544
Vue 报错TypeError: this.$set is not a function 的解决方法
5星 · 资源好评率100%
这个错误的原因是 `this.allData` 不是一个数组,而是一个 undefined 或者其他类型的值。你可以在调用 `updataChart()` 方法之前,先确保 `this.allData` 已经被赋值为一个正确的数组。或者在 `updataChart()` 方法中,先进行一个类型判断,避免在非数组类型上调用 `map()` 方法。例如:
```
updataChart() {
if (!Array.isArray(this.allData)) {
console.error('this.allData is not an array')
return
}
const sellerValues = this.allData.map((item) => {
return item.value
})
const sellerNames = this.allData.map((item) => {
return item.name
})
// ...
}
```
阅读全文