我的掛載函數中有以下代碼:
mounted () {
document.addEventListener('keydown', function (e) {
switch (e.keyCode) {
case 37 :
alert(this.indexPictures)
break
}
})
}
我的數據值:
data: function () {
return {
indexPictures: this.index,
}
},
我的結果:未定義
我不知道為什么,但我無法在數據函數中獲取值,這是同一個問題,從方法訪問。我的結果:不是函數
你有什么主意嗎?
不確定
this.index
是什么,但我會假設它是一個道具或類似的東西。嘗試從
addEventListener
中刪除關鍵字function
。它與問題沒有特別的關系,但也從數據中刪除
function
關鍵字:關鍵字
function
更改范圍,意味著this
綁定到函數本身(在您的例子中是回調)。當您使用箭頭函數this
時,關鍵字將與mounted
中的關鍵字相同,這意味著您可以訪問數據。從MDN文檔:
請記住,如果這是組件的一部分,最好在銷毀組件之前刪除該偵聽器。