Как создать метод экземпляра в Loopback, который может обращаться к самому себе?

#methods #instance #loopbackjs #strongloop

#методы #экземпляр #loopbackjs #strongloop

Вопрос:

В одной из моих моделей LoopBack я хочу добавить метод экземпляра в модель, но он не позволит мне получить доступ к this , поскольку this не определено внутри метода прототипа:

 module.exports = (MyModel) => {
  MyModel.prototype.doStuff = () => {
    console.log(this);  // outputs undefined
  }
}
  

Это, очевидно, ограничивает полезность метода экземпляра. Есть ли способ сделать это?

Ответ №1:

Проблема в том, что вы используете выражение функции стрелки.

Выражение функции со стрелкой имеет более короткий синтаксис по сравнению с выражениями функций и не связывает свои собственные this , arguments , super , или new.target .

когда вы перепишете его function(){} , вы получите доступ к экземпляру модели.