我試圖實現貓鼬虛擬吸氣未訪問:過了這個使用箭頭功能
UserSchema.virtual('fullName')
.get(function() {
return `${this.firstName} ${this.lastName}`;
})
我注意到,當我使用ES6箭頭的功能,而不是正常匿名函數作爲參數傳遞給該得到的虛擬getter將返回undefined。
我知道箭頭函數保留了this
的上下文,但正常匿名函數正在使用的this
的位置在哪裏? 如果通過。綁定或使用call()/ apply()函數,那麼它應該無關緊要,如果它是箭頭函數或正常(這就是我至少測試過的)。那麼,爲什麼這隻與正常的功能,但不是箭頭功能?
是的,我知道。 但這個箭頭功能不起作用。我輸入的那個是有效的。爲什麼會發生這是我的問題。 –
Gotcha。我的頭頂是關於應用到模型實例的,但我想完整的解釋會很好。 –