我试图实现猫鼬虚拟吸气未访问:过了这个使用箭头功能
UserSchema.virtual('fullName')
.get(function() {
return `${this.firstName} ${this.lastName}`;
})
我注意到,当我使用ES6箭头的功能,而不是正常匿名函数作为参数传递给该得到的虚拟getter将返回undefined。
我知道箭头函数保留了this
的上下文,但正常匿名函数正在使用的this
的位置在哪里? 如果通过。绑定或使用call()/ apply()函数,那么它应该无关紧要,如果它是箭头函数或正常(这就是我至少测试过的)。那么,为什么这只与正常的功能,但不是箭头功能?
是的,我知道。 但这个箭头功能不起作用。我输入的那个是有效的。为什么会发生这是我的问题。 –
Gotcha。我的头顶是关于应用到模型实例的,但我想完整的解释会很好。 –