Komponen Transition
v-enter-from, v-enter-active, v-enter-to, kelas v-leave-*, prop name untuk kelas khusus.
Komponen Transition adalah pelajaran Vue Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Vue Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Vue Academy mencakup 4 pelajaran total.
Fungsi Komponen Transition
Vue menyediakan komponen bawaan <Transition> yang menerapkan animasi masuk dan keluar pada elemen atau komponen satu saat elemen tersebut disisipkan atau dihapus melalui v-if atau v-show.
Komponen ini tidak merender elemen DOM tambahan apa pun—hanya mengelola kelas CSS dan waktu pada elemen anaknya.
<Transition>
<p v-if="show">Hello Vue</p>
</Transition>Hanya Satu Elemen
<Transition> mengharapkan tepat satu anak langsung. Membungkus beberapa elemen saudara tidak akan berfungsi — gunakan <TransitionGroup> sebagai gantinya untuk daftar.
Anak tersebut harus diaktifkan atau dinonaktifkan dengan v-if, v-show, atau komponen dinamis.
<!-- valid: one child -->
<Transition>
<div v-if="open" class="panel">Content</div>
</Transition>Enam Kelas Transisi
Selama proses masuk atau keluar, Vue secara otomatis menambahkan dan menghapus enam kelas secara berurutan.
v-enter-from/v-leave-from- keadaan awalv-enter-active/v-leave-active- fase aktif (letakkan transisi di sini)v-enter-to/v-leave-to- keadaan akhir
/* default prefix is "v-" */
.v-enter-active,
.v-leave-active {
transition: opacity 0.3s ease;
}Menamai Transisi Anda
Berikan prop name pada transisi agar awalan kelas berubah dari v- menjadi nama Anda. Dengan name="fade", kelasnya menjadi fade-enter-from, fade-enter-active, dan seterusnya.
<Transition name="fade">
<p v-if="show">Fades in and out</p>
</Transition>Contoh Efek Memudar Lengkap
Efek memudar klasik menganimasikan opacity. Elemen dimulai dalam keadaan sepenuhnya transparan, kelas aktif mendeklarasikan transisi, dan kelas tujuan membawanya ke opasitas penuh.
.fade-enter-from {
opacity: 0;
}
.fade-enter-active {
transition: opacity 0.3s ease;
}
.fade-enter-to {
opacity: 1;
}Urutan Masuk Langkah demi Langkah
Saat elemen disisipkan:
fade-enter-fromdanfade-enter-activeditambahkan sebelum proses gambar (opasitas 0).- Pada bingkai berikutnya,
fade-enter-fromdihapus danfade-enter-toditambahkan, sehingga opasitas menganimasi menuju 1. - Saat transisi berakhir, kedua kelas aktif dan tujuan dihapus.
/* frame 1: opacity 0 (enter-from + enter-active) */
/* frame 2: opacity 1 (enter-to + enter-active) */Urutan Keluar
Proses keluar mencerminkan proses masuk dengan kelas leave. Anda sering menggunakan kembali aturan aktif yang sama untuk kedua arah.
.fade-leave-from {
opacity: 1;
}
.fade-leave-active {
transition: opacity 0.3s ease;
}
.fade-leave-to {
opacity: 0;
}v-if Dibandingkan dengan v-show
Keduanya memicu transisi. v-if benar-benar memasang dan melepas elemen, sedangkan v-show mempertahankannya di DOM dan mengubah display. Untuk v-show, Vue menangani perubahan tampilan di sekitar fase aktif agar animasi tetap terlihat.
<Transition name="fade">
<p v-show="visible">Toggled with display</p>
</Transition>Muncul pada Render Awal
Secara bawaan, transisi tidak berjalan saat render pertama. Tambahkan prop appear agar animasi masuk berjalan ketika komponen pertama kali dipasang.
<Transition name="fade" appear>
<p>Animates in on page load</p>
</Transition>Menganimasikan di antara Dua Elemen
Gunakan v-if / v-else di dalam satu Transition untuk menukar dua elemen. Berikan key yang unik pada masing-masing elemen jika keduanya memiliki tag yang sama agar Vue memperlakukannya sebagai elemen yang berbeda.
<Transition name="fade" mode="out-in">
<button v-if="loading" key="load">Loading...</button>
<button v-else key="done">Done</button>
</Transition>Gerakan yang Dikurangi dan Aksesibilitas
Hormati pengguna yang lebih menyukai sedikit gerakan. Nonaktifkan atau persingkat transisi dengan kueri media prefers-reduced-motion agar animasi tidak menimbulkan ketidaknyamanan.
@media (prefers-reduced-motion: reduce) {
.fade-enter-active,
.fade-leave-active {
transition: none;
}
}Pemeriksaan Singkat
Apa yang ditentukan oleh fade-enter-from?
Ringkasan
Anda telah mempelajari komponen bawaan <Transition>: komponen ini membungkus satu elemen yang diaktifkan atau dinonaktifkan oleh v-if/v-show, menerapkan enam kelas CSS (enter-from, enter-active, enter-to dan padanan keluarnya), mendukung awalan name, appear untuk render pertama, serta mode untuk pertukaran.
Belajar HTML dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 42
- Pelajaran
- 156
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Komponen Transition” gratis?
Ya — teks lengkap “Komponen Transition” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Vue Academy, upgrade ke CoddyKit PRO. Kursus Vue Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Komponen Transition”?
v-enter-from, v-enter-active, v-enter-to, kelas v-leave-*, prop name untuk kelas khusus. Kamu berlatih Vue Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Vue Academy?
Tidak diperlukan pengalaman sebelumnya. Vue Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Komponen Transition” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Vue Academy ini?
Ya. Setiap pelajaran Vue Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Komponen Transition
- Transisi dan Animasi CSS
- Hook Transisi JavaScript
- TransitionGroup untuk Animasi Daftar