Я столкнулся с проблемами при попытке обработать данные, извлеченные из удаленного API.
Приложение работает VueJS с Vuetify, данные отформатированы с помощью компонента таблицы данных Vuetify.
Это мой code:
export default {
data () {
return {
headers: [
{ text: 'City', value: 'city' },
{ text: '#Citizens', value: 'citizens' },
{ text: '#Schools', value: 'schools' },
{ text: 'Schools per Citizen', value: 'schoolsPerCitizen' },
(...)
URL-адрес API определяется как переменная на уровне приложения root.
Затем этот метод запускается, когда created()
запускается:
methods: {
loadData() {
axios.get(citiesApiUrl)
.then((response) => {
console.log(response.data) // data displayed correctly
return response.data
})
.catch(error => {console.error(error)})
}
},
created () {
this.loadData()
}
Как вы заметили в комментарии, response.data
отображает нужные значения.
Проблемы начинаются с этого момента:
computed: {
stats() {
return this.loadData().map(item => {
item.schoolsPerCitizen = (item.schools / item.citizens).toFixed(2)
return item
})
}
}
Я получаю ошибку: TypeError: Cannot read property 'map' of undefined
.
Есть идеи, что не так с моим кодом?