Vue Academy · Pelajaran

Komponen Transition

v-enter-from, v-enter-active, v-enter-to, kelas v-leave-*, prop name untuk kelas khusus.

Pelajaran 1 dari 413 langkah

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 awal
  • v-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:

  1. fade-enter-from dan fade-enter-active ditambahkan sebelum proses gambar (opasitas 0).
  2. Pada bingkai berikutnya, fade-enter-from dihapus dan fade-enter-to ditambahkan, sehingga opasitas menganimasi menuju 1.
  3. 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.

Gratis untuk memulai

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

  1. Komponen Transition
  2. Transisi dan Animasi CSS
  3. Hook Transisi JavaScript
  4. TransitionGroup untuk Animasi Daftar
← Kembali ke Vue Academy