Rumah >hujung hadapan web >tutorial js >Mengapa Fungsi Anak Panah Tidak Berfungsi Seperti Yang Dijangkakan dalam Hartanah Pengiraan Vue?

Mengapa Fungsi Anak Panah Tidak Berfungsi Seperti Yang Dijangkakan dalam Hartanah Pengiraan Vue?

Susan Sarandon
Susan Sarandonasal
2024-11-24 20:47:31858semak imbas

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

Fungsi Anak Panah dalam Vue Computed Properties

Masalah:

Menggunakan fungsi anak panah dalam Vue dikira sifat boleh menyebabkan tingkah laku yang tidak dijangka. Selepas menukar kaedah dalam sifat yang dikira kepada fungsi anak panah, warna elemen DOM tidak berubah, walaupun nilai data asas masih berjaya bertukar.

Jawapan:

Isu ini timbul kerana fungsi anak panah tidak mengikat ini pada contoh Vue di mana sifat pengiraan ditakrifkan. Tingkah laku ini konsisten dengan konteks lain di mana fungsi anak panah digunakan, seperti dalam kaedah contoh.

Seperti dokumentasi Vue:

"Jangan gunakan fungsi anak panah pada sifat contoh atau panggil balik (cth. vm.$watch('a', newVal => this.myMethod())). konteks, ini bukan contoh Vue seperti yang anda jangkakan dan this.myMethod() akan tidak ditentukan."

Penyelesaian:

Untuk menyelesaikan isu ini, elakkan menggunakan fungsi anak panah dalam sifat yang dikira atau kaedah contoh. Sebaliknya, gunakan sintaks fungsi tradisional (cth., function() { ... }) untuk mengikat ini dengan betul pada tika Vue.

Atas ialah kandungan terperinci Mengapa Fungsi Anak Panah Tidak Berfungsi Seperti Yang Dijangkakan dalam Hartanah Pengiraan Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn