Я могу отобразить тег<p>с помощью vue js, но не могу удалить его через 2 секунды

У меня есть поле ввода, где я могу написать что-то, теперь, если я нажимаю, введите значение, называемое "gespeichert", становится истинным. у меня также есть тег p, который связан с v-if. Теперь я хочу, чтобы это скрыть / удалить через 2 или 3 секунды. это сделано с помощью vue.js

я уже пробовал с

                    methods: {

        speichern: function() {
            this.gespeichert = true;
            setTimeout(function(){

                    this.gespeichert = false;

            }, 2000);
                             ....

теперь я хочу, чтобы gespeichert получил значение false через 2 секунды, почему это не работает?

1 ответ

Решение

У вас есть проблема с объемом - this внутри вашей функции setTimeout нет того, что находится за пределами этой функции. Ты можешь использовать .bind(this) чтобы решить это:

setTimeout(function(){
    this.gespeichert = false;
}.bind(this), 2000);
Другие вопросы по тегам