在我的一个LoopBack模型中,我想向模型添加一个实例方法,但它不允许我访问this
,因为this
在原型方法中是未定义的:
module.exports = (MyModel) => {
MyModel.prototype.doStuff = () => {
console.log(this); // outputs undefined
}
}
这显然限制了实例方法的有用性。有没有办法做到这一点?
答案 0 :(得分:6)
问题是您正在使用arrow function expression。
箭头函数表达式与函数表达式相比具有更短的语法,不绑定自己的
this
,arguments
,{{1 },或super
。
当您将其重写为new.target
时,您将可以访问该模型的实例。