#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(){}
, вы получите доступ к экземпляру модели.