現在在我的幫助是利用function()
MeteorJS - 功能之間的差異()和()=>
updateCVId: function() {
return this._id; //return the real id
}
它的工作,但如果我用()=>
updateCVId:()=> {
return this._id; //return undefined
}
然後this._id是未定義。
這同樣適用於事件:
'click .foo': function(evt, tmp) {
console.log(this._id); //log the real id
}
和
'click .foo': (evt, tmp)=> {
console.log(this._id); //log undefined
}
有人能告訴我,如果我用()=>
,如何獲得這些數據?
謝謝你們。
在箭頭函數中,* this *被分配爲創建函數的執行上下文的* this *。在函數聲明或表達式中,它由調用(或* bind *)設置,因此可能是不同的對象。 – RobG
好的,那麼如何獲取箭頭函數中的數據,就像我在正常函數中使用它一樣? –
使用函數聲明或表達式(第一個示例),請參閱[* ES6箭頭函數始終關閉「this」?*](http://stackoverflow.com/questions/35813344/do-es6-arrow-functions-常閉-過這一點)。 – RobG