with utilizar library javascript angular scope

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);