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

Posted

技术标签:

【中文标题】我可以用vue js显示一个<p>标签,但我不能在2秒后删除它[重复]【英文标题】:i can display an <p> tag with vue js but i cant remove it after 2 sec [duplicate] 【发布时间】:2019-07-07 20:29:43 【问题描述】:

我有一个输入字段,我可以在其中写一些东西,现在如果我按下输入一个名为“gespeichert”的值就会变为真。我还有一个与 v-if 绑定的 p 标签。现在我希望它在 2 或 3 秒后隐藏/删除它。 这是用 vue.js 制作的

我已经试过了

                    methods: 

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

                    this.gespeichert = false;

            , 2000);
                             ....

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

【问题讨论】:

使用 setTimeout(()=&gt; 这样的箭头函数来访问它 【参考方案1】:

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

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

【讨论】:

完美!谢谢你的作品正是我想要的:)

以上是关于我可以用vue js显示一个<p>标签,但我不能在2秒后删除它[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Vue JS如何垂直显示数组中的内部单词

如何在 vue js 中显示从 firebase 检索到的标题标签 <h1> </h1> 的数据?

vue element ui 怎么点击按钮隐藏让另外一个按钮显示

Vue.js 组件

使用 p 标签的嵌套 v-for 循环在 Vue.js 中不起作用

vue.js 其他指令