我可以用 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);
我有一个输入字段,我可以在其中输入内容,现在如果我按输入键,一个名为 "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);