


Vue.js ialah rangka kerja JavaScript bahagian hadapan yang popular yang menyediakan kami set alat dan ciri lengkap untuk membangunkan aplikasi web yang cekap dan mudah diselenggara. Salah satu fungsi penting ialah pendengar, yang bertanggungjawab untuk memerhati perubahan dalam data dalam contoh Vue Apabila data berubah, pendengar akan mengemas kini paparan secara automatik untuk mencapai antara muka pengguna yang responsif.
Dalam penggunaan sebenar, kadangkala kami mendapati bahawa pendengar Vue dilaksanakan dua kali Masalah ini telah menyebabkan kekeliruan dan masalah di kalangan banyak pembangun. Jadi, mengapa pendengar Vue melaksanakan dua kali?
Sebab 1: Penyampaian awal dan perubahan data
Pertama sekali, perlu diperhatikan bahawa pendengar Vue dilaksanakan dua kali kerana data yang terikat kepada pendengar ini berbeza daripada data semasa permulaan rendering. Dicetuskan sekali apabila menukar. Sebagai contoh, apabila kami mengikat data dalam komponen Vue, dan data berubah apabila komponen itu dipaparkan, maka pendengar akan dilaksanakan semasa pemaparan awal dan apabila data berubah.
Secara khusus, Vue akan melaksanakan fungsi pemaparan semasa pemaparan awal Fungsi pemaparan ini akan menjana Dom maya dan mengemas kini paparan berdasarkan Dom maya ini, yang mungkin mencetuskan pelaksanaan pendengar Vue. Apabila data berubah, Vue akan melaksanakan fungsi pemaparan sekali lagi, menjana Dom maya baharu dan mengemas kini paparan Proses ini juga boleh mencetuskan pelaksanaan pendengar.
Sebab 2: Cara Pengawas terikat pada teg
Kedua, pendengar Vue dilaksanakan dua kali kerana kaedah pengikatannya yang berbeza. Pendengar Vue biasanya dilaksanakan melalui objek Watcher, dan objek Watcher boleh dibuat melalui kaedah pengikatan yang berbeza. Di bawah kaedah pengikatan yang berbeza, bilangan masa pelaksanaan pendengar mungkin berbeza.
Sebagai contoh, apabila kami menggunakan arahan model v untuk mengikat data, Vue akan mengikat data secara automatik pada objek Pemerhati dan melakukan pengikatan dua hala pada data. Apabila data berubah, objek Watcher secara automatik mencetuskan fungsi pendengar. Oleh itu, apabila kita menggunakan v-model untuk mengikat data dalam templat, fungsi pendengar akan dilaksanakan dua kali.
Selain itu, jika kita mengikat berbilang tag pada data yang sama dalam templat, fungsi pendengar juga akan dilaksanakan beberapa kali. Sebagai contoh, apabila kita menggunakan v-model untuk mengikat data yang sama pada kedua-dua teg input dan teg textarea, fungsi pendengar akan dilaksanakan dua kali.
Bagaimana untuk mengelakkannya?
Jadi, bagaimana untuk menghalang pendengar Vue daripada melaksanakan dua kali? Malah, tiada penyelesaian tetap untuk masalah ini, kerana terdapat banyak sebab untuk pendengar dilaksanakan dua kali, dan situasi yang berbeza mungkin memerlukan penyelesaian yang berbeza. Walau bagaimanapun, kami boleh mencuba penyelesaian berikut:
- Kurangkan pemantauan data. Jika paparan tidak perlu dikemas kini apabila data berubah, maka tidak perlu mendengarnya.
- Elakkan membuat perubahan pada data pada pemaparan awal. Data boleh dimulakan dalam kitaran hayat yang dicipta untuk mengelakkan perubahan data selepas pemasangan.
- Gunakan tag untuk mengikat data dengan sewajarnya. Anda boleh menggunakan sifat yang dikira, kaedah, dsb. untuk menggantikan arahan model-v.
Ringkasan
Pendengar Vue ialah bahagian penting dalam responsif Vue dan salah satu ciri teras rangka kerja Vue. Melaksanakan pendengar dua kali bukanlah ralat, tetapi berkaitan dengan rendering, kaedah mengikat, dsb. Dengan memahami punca dan penyelesaian, kami boleh menggunakan pendengar dengan lebih baik dan membina aplikasi Vue yang cekap dan stabil.
Atas ialah kandungan terperinci Mari kita bincangkan tentang sebab pendengar Vue dilaksanakan dua kali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan useeffect dalam React, cangkuk untuk menguruskan kesan sampingan seperti pengambilan data dan manipulasi DOM dalam komponen berfungsi. Ia menerangkan penggunaan, kesan sampingan yang biasa, dan pembersihan untuk mencegah masalah seperti kebocoran memori.

Lazy memuatkan kelewatan memuatkan kandungan sehingga diperlukan, meningkatkan prestasi web dan pengalaman pengguna dengan mengurangkan masa beban awal dan beban pelayan.

Fungsi pesanan yang lebih tinggi dalam JavaScript meningkatkan ketabahan kod, kebolehgunaan semula, modulariti, dan prestasi melalui abstraksi, corak umum, dan teknik pengoptimuman.

Artikel ini membincangkan kari dalam JavaScript, teknik yang mengubah fungsi multi-argumen ke dalam urutan fungsi argumen tunggal. Ia meneroka pelaksanaan kari, faedah seperti aplikasi separa, dan kegunaan praktikal, meningkatkan kod baca

Artikel ini menerangkan algoritma perdamaian React, yang dengan cekap mengemas kini DOM dengan membandingkan pokok DOM maya. Ia membincangkan manfaat prestasi, teknik pengoptimuman, dan kesan terhadap pengalaman pengguna. Kira -kira: 159

Artikel membincangkan penyambungan komponen reaksi ke kedai redux menggunakan Connect (), menerangkan MapStateToprops, MapdispatchToprops, dan kesan prestasi.

Artikel ini menerangkan USEContext dalam React, yang memudahkan pengurusan negara dengan mengelakkan penggerudian prop. Ia membincangkan faedah seperti keadaan terpusat dan penambahbaikan prestasi melalui pengurangan semula yang dikurangkan.

Artikel membincangkan menghalang tingkah laku lalai dalam pengendali acara menggunakan kaedah pencegahanDefault (), faedahnya seperti pengalaman pengguna yang dipertingkatkan, dan isu -isu yang berpotensi seperti kebimbangan aksesibiliti.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.