На данный вопрос уже ответили:
Vuejs 2. В компоненте есть метод updatePerson(), который использует async axios. И внутри мне нужно вызвать другой метод setPersonData(). Как можно это сделать?
methods: {
setPersonData(data) {
this.clearAll();
this.setPerson(data);
},
updatePerson(person) {
this.$awn.confirm('Update?', async function () {
let response = await axios.patch('/people/' + person.id, person);
this.setPersonData(response); //Не работает, т.к. this относится к промису
});
},
}
нужно объявить переменную ссылающуюся на данный объект
methods: {
setPersonData(data) {
this.clearAll();
this.setPerson(data);
},
updatePerson(person) {
var that = this; // запоминаем объект
this.$awn.confirm('Update?', async function () {
let response = await axios.patch('/people/' + person.id, person);
that.setPersonData(response); // ссылаемся на объект Vue
});
},
}
как правильно в комментах написали - можно воспользоваться стрелочными функциями
updatePerson(person) {
this.$awn.confirm('Update?', async () => {
let response = await axios.patch('/people/' + person.id, person);
this.setPersonData(response); // ссылаемся на объект Vue
});
},
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости