use*_*143 110 javascript scope angular
我班上有这样的功能
showMessageSuccess(){
var that = this;
this.messageSuccess = true;
setTimeout(function(){
that.messageSuccess = false;
},3000);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能重写这个,所以我不必在'that'var中存储对'this'的引用?如果我在setTimeout中使用'this',则messageSuccess bool似乎不会更改/获取更新.
mic*_*yks 304
您需要使用ArrowFunction ()=>
来保留其中的this
上下文setTimeout
.
// var that = this; // no need of this line
this.messageSuccess = true;
setTimeout(()=>{ //<<<--- using ()=> syntax
this.messageSuccess = false;
}, 3000);
Run Code Online (Sandbox Code Playgroud)