Использование декоратора для метода с сохранением привязки к `this` - PullRequest
0 голосов
/ 08 мая 2020

При использовании синтаксиса метода как можно использовать декоратор и сохранить привязку к this?

{
  getFieldId: _.curry(function (index, fieldName) {
    // this is not bound
    return `${this.getPrefix()}${this.lowerCaseName}-${index}-${fieldName}`
  })
}

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Я думаю, что использование функции стрелки ES6 должно работать:

getFieldId: _.curry((index, fieldName) => `${this.getPrefix()}${this.lowerCaseName}-${index}-${fieldName}`)

Или более подробно с функцией блока:

getFieldId: _.curry((index, fieldName) => {
    return `${this.getPrefix()}${this.lowerCaseName}-${index}-${fieldName}`
})
0 голосов
/ 08 мая 2020

А как насчет стрелочной функции ?

{
  getFieldId: _.curry((index, fieldName) => {
    return `${this.getPrefix()}${this.lowerCaseName}-${index}-${fieldName}`
  })
}

Стрелочные функции связывают this контекст лексически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...