javascript - utilizar - Angular 2: uso de ''this'' dentro de setTimeout
use js in angular 2 (1)
Esta pregunta ya tiene una respuesta aquí:
Tengo una función así en mi clase
showMessageSuccess(){
var that = this;
this.messageSuccess = true;
setTimeout(function(){
that.messageSuccess = false;
},3000);
}
¿Cómo puedo volver a escribir esto para no tener que almacenar una referencia a ''this'' en la variable ''that''? Si uso ''this'' dentro de setTimeout, el mensaje MessageSuccess bool no parece cambiar / actualizarse.
Debe usar ArrowFunction
()=>
para preservar
this
contexto dentro de
setTimeout
.
// var that = this; // no need of this line
this.messageSuccess = true;
setTimeout(()=>{ //<<<--- using ()=> syntax
this.messageSuccess = false;
}, 3000);