Apakah makro definisi di Vue 3.4?
Makro definisi menyelesaikan masalah kod berlebihan apabila komponen tersuai melaksanakan model V dalam VUE 3.4. 1. Ia secara automatik mencipta Prop dan Kemas Kini ModelValue: Peristiwa ModelValue dalam
Makro defineModel
dalam VUE 3.4 adalah makro pengkompil yang memudahkan pengikatan dua hala (V-Model) dalam komponen tersuai dengan secara automatik membuat prop modelValue
dan update:modelValue
-atau pasangan prop/acara tersuai-dengan minimum boilerplate.

Ia diperkenalkan dalam VUE 3.4 sebagai gula sintaks untuk membuat komponen penulisan V-model yang serasi lebih bersih, terutama dalam <script setup></script>
.
✅ Masalah apa yang diselesaikannya?
Sebelum defineModel
, jika anda ingin menyokong v-model
dalam komponen, anda perlu menentukan secara manual:

<persediaan skrip> DefineProps (['ModelValue'])) Defineemits (['Update: ModelValue']) </script>
Kemudian mengikatnya dalam templat:
<input : nilai = "ModelValue" @Input = "$ emit ('Update: ModelValue', $ event.target.Value)" >
Ini berulang -ulang dan verbose.

? Bagaimana defineModel
berfungsi
Dengan defineModel
, VUE secara automatik menjana perisytiharan Prop dan memancarkan:
<persediaan skrip> ConstValue = definemodel () </script> <pemat> <input v-model = "model nilai"> </template>
Baris tunggal ini menggantikan definisi prop dan emit.
Di bawah tudung, ia bersamaan dengan:
DefineProps (['ModelValue'])) Defineemits (['Update: ModelValue'])
Tetapi sekarang anda boleh membaca dan menulis modelValue
secara langsung seperti ref.
? Menyesuaikan model
Anda juga boleh menggunakan nama dan acara prop tersuai menggunakan argumen:
<persediaan skrip> const diperiksa = definisi ('diperiksa', {type: boolean}) </script> <pemat> <input type = "checkbox" v-model = "diperiksa"> </template>
Ini mencipta:
- Prop yang dinamakan
checked
- Acara yang dinamakan
update:checked
Anda juga boleh lulus pilihan seperti type
, required
, dan lain -lain, sama seperti defineProps
.
const count = definemodel ('count', { jenis: nombor, Lalai: 0 })
Nota penting
-
defineModel
hanya tersedia di dalam<script setup>
. - Ia adalah makro pengkompil , jadi ia tidak wujud pada masa runtime. Ia dapat disusun semasa membina.
- Ia hanya berfungsi dalam SFCS (komponen fail tunggal) dengan sokongan alat binaan (misalnya, Vite, Vue CLI).
- Tidak terdapat di JavaScript biasa atau komponen runtime yang diberikan.
? Mengikat dua hala mudah
Sekarang penggunaan ibu bapa tetap sama:
<ChildComponent v-Model = "SearchText" />
Dan kanak -kanak mengendalikannya dengan sifar boilerplate.
Ringkasan
defineModel
di Vue 3.4:
- Mengurangkan boilerplate untuk sokongan
v-model
- Bertindak sebagai nilai seperti ref yang disegerakkan dengan ibu bapa
- Menyokong nama tersuai dan jenis pilihan
- Adalah penolong kompilasi masa (tiada kos runtime)
Ia adalah peningkatan kualiti hidup yang kecil tetapi kuat untuk penulis komponen.
Pada asasnya: kurang kod, tingkah laku yang sama, niat bersih.
Atas ialah kandungan terperinci Apakah makro definisi di Vue 3.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Artikel ini telah memilih satu siri laman web sumber produk siap peringkat tinggi untuk pemaju dan pelajar Vue. Melalui platform ini, anda boleh menyemak imbas, belajar, dan juga menggunakan semula projek lengkap Vue berkualiti tinggi secara dalam talian secara percuma, dengan itu dengan cepat meningkatkan kemahiran pembangunan dan keupayaan amalan projek anda.

Cangkuk kitaran hidup komponen VUE digunakan untuk melaksanakan kod pada peringkat tertentu. 1. Dibuat: Dipanggil dengan serta -merta selepas komponen dibuat, sesuai untuk memulakan data; 2.Mounted: Dipanggil selepas komponen dipasang ke DOM, sesuai untuk mengendalikan DOM atau memuat sumber luaran; 3.Updated: Dipanggil apabila kemas kini data menyebabkan komponen disampaikan semula, sesuai untuk bertindak balas terhadap perubahan data; 4.BeforeUnmount: Dipanggil sebelum komponen dipasang, sesuai untuk pembersihan acara atau pemasa acara untuk mengelakkan kebocoran memori. Cangkuk ini membantu pemaju dengan tepat mengawal tingkah laku komponen dan mengoptimumkan prestasi.

Untuk melaksanakan komponen Paging Vue yang boleh diguna semula, perkara utama berikut perlu dijelaskan: 1. Tentukan alat peraga termasuk jumlah baris, bilangan baris setiap halaman dan nombor halaman semasa; 2. Kirakan jumlah halaman; 3. Secara dinamik menjana array nombor halaman yang dipaparkan; 4. Proses Nombor Halaman Klik Acara dan lulus ke komponen induk; 5. Tambah gaya dan butiran interaksi. Menerima data melalui prop dan tetapkan nilai lalai, gunakan atribut yang dikira untuk mengira jumlah halaman, gunakan kaedah untuk menghasilkan array nombor halaman yang dipaparkan sekarang, membuat butang dalam templat dan mengikat peristiwa klik untuk mencetuskan kemas kini: Acara halaman semasa, dengar pada komponen induk untuk mengemas kini nombor halaman semasa.

Bagi pemaju Vue, projek atau templat siap berkualiti tinggi adalah alat yang berkuasa untuk memulakan projek baru dengan cepat dan mempelajari amalan terbaik. Artikel ini telah memilih pelbagai portal sumber produk siap Vue dan navigasi laman web untuk membantu anda mencari penyelesaian front-end yang anda perlukan dengan cekap, sama ada sistem pengurusan belakang, perpustakaan komponen UI, atau templat untuk senario perniagaan tertentu, anda boleh mendapatkannya dengan mudah.

Dikira mempunyai cache, dan pelbagai akses tidak dikira semula apabila pergantungan tetap tidak berubah, sementara kaedah dilaksanakan setiap kali mereka dipanggil; 2. Komputed sesuai untuk pengiraan berdasarkan data responsif. Kaedah sesuai untuk senario di mana parameter diperlukan atau panggilan kerap tetapi hasilnya tidak bergantung kepada data responsif; 3. Kompted menyokong getters dan setters, yang dapat merealisasikan penyegerakan data dua hala, tetapi kaedah tidak disokong; 4. Ringkasan: Gunakan yang dikira terlebih dahulu untuk meningkatkan prestasi, dan menggunakan kaedah semasa lulus parameter, melakukan operasi atau mengelakkan cache, mengikuti prinsip "jika anda boleh menggunakan dikira, anda tidak menggunakan kaedah".

Menggunakan slot dan slot yang dinamakan dalam VUE dapat meningkatkan fleksibiliti komponen dan kebolehgunaan semula. 1. Slot membolehkan komponen induk untuk memasukkan kandungan ke dalam komponen kanak -kanak melalui tag, seperti memasukkan teks perenggan ke dalam komponen kad. 2. 3. Kandungan lalai boleh ditetapkan dalam slot sebagai alternatif apabila komponen induk tidak disediakan, seperti butang tutup lalai; 4. Simbol # adalah sintaks singkatan V-Slot:; 5. Adalah disyorkan untuk menggunakan slot yang munasabah untuk mengelakkan pergantungan yang berlebihan, dan sesetengah kandungan boleh dianggap dilaksanakan melalui props atau komponen skop.

Pasang VUEI18N: VUE3 Menggunakan NPMinstallVue-I18n@Seterusnya, VUE2 menggunakan NPMinstallVue-I18N; 2. Buat fail bahasa seperti en.json dan es.json dalam direktori tempatan, menyokong struktur bersarang; 3. Buat contoh melalui createi18n dalam vue3 dan pasangkannya di main.js, vue2 menggunakan vue.use (vuei18n) dan instantiate vuei18n; 4. Gunakan {{$ t ('key')}} Interpolation dalam templat, gunakan fungsi T UsEI18N dalam API Vue3composition, dan API Vue2Options

Buat komponen pensuisan tema, gunakan kotak semak untuk mengikat keadaan ISDarkMode dan panggil fungsi toggletheme; 2. Semak pilihan localStorage dan sistem di Onmounted untuk memulakan tema; 3. Tentukan fungsi ApplyTheMe untuk memohon kelas mod gelap ke elemen HTML untuk menukar gaya; 4. Gunakan sifat tersuai CSS untuk menentukan pembolehubah cerah dan gelap, dan ganti rugi gaya lalai melalui kelas mod gelap; 5. Memperkenalkan komponen Temeswitcher ke dalam templat aplikasi utama untuk memaparkan butang togol; 6. Secara pilihan mendengar perubahan-warna-skema perubahan untuk menyegerakkan tema sistem. Penyelesaian ini menggunakan Vue
