@roman94

Почему выдает ошибку при установке свойства?

Добрый день.
Есть форма обратной связи на сайте. Отправка запроса через axios.
Необходимо после отправки запроса отображать окно о успешной отправке.
В data завел свойство complete, на блок в уведомлением повесил v-if.
Но почему то возникает ошибка
Cannot set property 'complete' of undefined
sendCart: function() {
                axios.post('/sendMessage', {
                        name: this.name,
                        phone: this.phone,
                        mail: this.mail
                    },
                )
                    .then(function (response) {
                        this.complete = true;
                    })
                    .catch(function (error) {
                        console.log(error)
                    });
            },


data: function() {
            return {
                name: "",
                phone: "",
                mail: "",
                complete: false
            }
        },
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
@ubx7b8
Внутри колбэков this уже не тот this )
сначала надо сохранить this в другой переменной, а потом её использовать в колбэках
var vm = this
...
...function () {
vm.complete = true
}
Ответ написан
Комментировать
victory_vas
@victory_vas
Используйте стрелочную функцию, она не переопределяет this
.then(response => this.complete = true)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы