Я звоню два запроса с axios.all()
на mounted()
, и я не могу присвоить данные ответа моим данным Vue.
Я включил немного console.log()
, чтобы понять, что происходит.
app = new Vue({
data: {
countries: [],
cities: [],
},
methods: {
getCountries() {
return axios({
method: 'get',
url: '/utils/countries/',
})
},
getCities() {
return axios({
method: 'get',
url: '/utils/cities/',
})
}
},
mounted() {
console.log('1 ' + this.cities)
axios.all([this.getCountries(), this.getCities()])
.then(axios.spread(function (countries, cities) {
this.countries = countries.data;
this.cities = cities.data;
console.log('2 ' + this.cities)
}))
.catch(error => console.log(error));
console.log('3 ' + this.cities)
}
});
Выход:
1
3
2 [object Object]...
Мой звонок успешен, но this.cities
и this.countries
остаются пустыми.
Как я могу передать им мои данные ответа?