我的课程中有这样的功能
showMessageSuccess(){
var that = this;
this.messageSuccess = true;
setTimeout(function(){
that.messageSuccess = false;
},3000);
}
如何重新编写此代码,以便我不必在'that'var中存储对'this'的引用?如果我在setTimeout中使用'this',则messageSuccess bool似乎不会更改/获取更新。
答案 0 :(得分:262)
您需要使用ArrowFunction ()=>
来保留this
中的 setTimeout
上下文。
// var that = this; // no need of this line
this.messageSuccess = true;
setTimeout(()=>{ //<<<--- using ()=> syntax
this.messageSuccess = false;
}, 3000);