Angular 2 - setTimeout内での「this」の使用 [重複] 質問する

Angular 2 - setTimeout内での「this」の使用 [重複] 質問する

私のクラスにはこのような関数があります

  showMessageSuccess(){

    var that = this;
    this.messageSuccess = true;

    setTimeout(function(){
      that.messageSuccess = false;
    },3000);

  }

'this' への参照を 'that' 変数に格納しなくても済むように、これを書き直すにはどうすればよいですか? setTimeout 内で 'this' を使用すると、messageSuccess bool は変更/更新されないようです。

ベストアンサー1

使用する必要がある矢印関数()=>ES6保存する機能this文脈内setTimeout

// var that = this;                        // no need of this line
this.messageSuccess = true;

setTimeout(()=>{                           // <<<---using ()=> syntax
    this.messageSuccess = false;
}, 3000);

おすすめ記事