在保持对`this`的绑定的同时在方法上使用修饰符

问题描述 投票:0回答:2

使用方法语法时,如何使用修饰符并保持与this的绑定?

{
  getFieldId: _.curry(function (index, fieldName) {
    // this is not bound
    return `${this.getPrefix()}${this.lowerCaseName}-${index}-${fieldName}`
  })
}
javascript object ecmascript-6
2个回答
0
投票

arrow function呢?

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

箭头函数按词法绑定this上下文。


0
投票

我认为使用ES6箭头功能应该可以:

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

或更详细的带块函数:

getFieldId: _.curry((index, fieldName) => {
    return `${this.getPrefix()}${this.lowerCaseName}-${index}-${fieldName}`
})
© www.soinside.com 2019 - 2024. All rights reserved.