我可以用 vue js 显示一个 <p> 标签,但我不能在 2 秒后删除它

i can display an <p> tag with vue js but i cant remove it after 2 sec

我有一个输入字段,我可以在其中输入内容,现在如果我按输入键,一个名为 "gespeichert" 的值变为真。我还有一个与 v-if 绑定的 p 标签。现在我希望它在 2 或 3 秒后隐藏/删除它。 这是用 vue.js

制作的

我已经尝试过

                    methods: {

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

                    this.gespeichert = false;

            }, 2000);
                             ....

现在我希望 gespeichert 在 2 秒后得到值 false,为什么这不起作用?

您有一个范围问题 - this 在您的 setTimeout 函数中不是它在该函数之外的内容。您可以使用 .bind(this) 来解决这个问题:

setTimeout(function(){
    this.gespeichert = false;
}.bind(this), 2000);