首頁 >web前端 >js教程 >為什麼箭頭函數在 Vue 計算屬性中不能如預期般運作?

為什麼箭頭函數在 Vue 計算屬性中不能如預期般運作?

Susan Sarandon
Susan Sarandon原創
2024-11-24 20:47:31910瀏覽

Why Don't Arrow Functions Work as Expected in Vue Computed Properties?

Vue 計算屬性中的箭頭函數

問題:

問題:

在Vue 計算中使用箭頭函數屬性可能會導致意外行為。將計算屬性中的方法變更為箭頭函數後,即使底層資料值仍成功切換,DOM 元素的顏色也不會改變。

答案:

出現此問題是因為箭頭函數不會將 this 綁定到定義計算屬性的 Vue 實例。此行為與使用箭頭函數的其他上下文一致,例如在實例方法中。

根據Vue 文件:

「不要在實例屬性或回呼上使用箭頭函數(例如vm.$watch('a', newVal => this.myMethod()))。由於箭頭函數綁定到父上下文,因此this 不會是您想要的Vue 實例。將是未定義的。相反,使用傳統的函數語法(例如,function() { ... })將 this 正確綁定到 Vue 實例。

以上是為什麼箭頭函數在 Vue 計算屬性中不能如預期般運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn