1. ホーム
  2. javascript

[解決済み] Angular 2 - setTimeout内で'this'を使用する [duplicate].

2022-01-28 18:19:06

質問

<余談
この質問には、すでにここで回答があります :
クローズド 5年前 .

私のクラスには、こんな関数があります。

  showMessageSuccess(){

    var that = this;
    this.messageSuccess = true;

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

  }

this' への参照を 'that' var に格納する必要がないようにするには、どのように書き直せばよいのでしょうか? setTimeoutの中で'this'を使用すると、messageSuccess boolは変更/更新されないようです。

どのように解決するのですか?

を使用する必要があります。 アロー機能 ()=> イーエスシックス ほぞんきのう this 文脈内 setTimeout .

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

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