У меня в классе есть такая функция

  showMessageSuccess(){

    var that = this;
    this.messageSuccess = true;

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

  }

Как я могу переписать это, чтобы мне не нужно было хранить ссылку на this в переменной that? Если я использую 'this' внутри setTimeout, messageSuccess bool, похоже, не изменится / не обновится.

user2085143

Ответов: 1

Ответы (1)

Вам необходимо использовать стрелочную функцию () => ES6 функция для сохранения this контекст внутри setTimeout.

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

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

2022 WebDevInsider