Rumah  >  Artikel  >  hujung hadapan web  >  Aplikasi fungsi kesan peralihan dinamik dalam dokumen Vue

Aplikasi fungsi kesan peralihan dinamik dalam dokumen Vue

WBOY
WBOYasal
2023-06-20 12:34:371037semak imbas

Vue.js ialah rangka kerja bahagian hadapan yang popular yang menyediakan banyak fungsi dan alatan praktikal untuk memudahkan kami membina aplikasi dengan interaktiviti yang kukuh dan prestasi yang baik. Antaranya, fungsi kesan peralihan dinamik ialah fungsi yang sangat praktikal dalam rangka kerja Vue, yang membolehkan kami mencapai kesan peralihan yang cantik apabila menukar, menambah atau memadam elemen DOM. Artikel ini akan membawa pembaca untuk mempunyai pemahaman yang mendalam tentang fungsi kesan peralihan dinamik dalam dokumen Vue, dan memperkenalkan teknik aplikasi praktikal dan senario aplikasinya.

1. Fungsi kesan peralihan dinamik dalam dokumen

Dalam dokumentasi rangka kerja Vue, kita boleh menemui satu bab khusus untuk animasi peralihan, yang memperincikan cara menggunakan peralihan dinamik yang disediakan oleh Vue Fungsi kesan untuk mencapai kesan animasi peralihan. Fungsi ini termasuk yang berikut:

  1. enterClass: Masukkan nama kelas CSS animasi.
  2. enterActiveClass: nama kelas CSS untuk memasuki keadaan pengaktifan animasi.
  3. enterToClass: nama kelas CSS untuk memasuki keadaan akhir animasi.
  4. leaveClass: Nama kelas CSS bagi animasi cuti.
  5. leaveActiveClass: Nama kelas CSS yang meninggalkan keadaan pengaktifan animasi.
  6. leaveToClass: Nama kelas CSS yang meninggalkan keadaan akhir animasi.
  7. appearClass: Nama kelas CSS untuk animasi muncul.
  8. appearActiveClass: Nama kelas CSS di mana pengaktifan animasi muncul.
  9. appearToClass: Nama kelas CSS di mana keadaan akhir animasi muncul.

Fungsi ini boleh ditentukan dalam sifat komponen peralihan untuk mencapai kesan peralihan. Sebagai contoh, dalam kod berikut, kita boleh mencapai kesan fade-in dan fade-out yang mudah dengan mentakrifkan nama kelas fade-enter-active dan fade-leave-active dalam fail CSS:

<template>
  <div class="fade" v-if="show">
    <p>Hello, Vue!</p>
  </div>
  <button @click="toggle">Toggle</button>
</template>

<script>
export default {
  data() {
    return {
      show: false
    };
  },
  methods: {
    toggle() {
      this.show = !this.show;
    }
  }
};
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter,
.fade-leave-to {
  opacity: 0;
}
</style>

2 . Petua Aplikasi Praktikal

Selain penggunaan asas di atas, fungsi kesan peralihan dinamik juga boleh digunakan dengan arahan dan komponen Vue yang lain untuk mencapai kesan peralihan yang lebih kompleks. Berikut ialah beberapa teknik biasa dan senario aplikasi:

  1. arahan v-bind:class: Kami boleh menggabungkan arahan v-bind:class untuk menambah atau mengalih keluar CSS secara automatik untuk animasi peralihan berdasarkan keadaan nama kelas. Sebagai contoh, dalam kod berikut, kami boleh menambah atau memadam secara automatik dua nama kelas CSS fade-enter-active dan fade-enter-to mengikut keadaan persembahan untuk mencapai kesan fade-in dan fade-out:
<template>
  <div
    class="fade"
    v-bind:class="{ 'fade-enter-active': show, 'fade-enter-to': !show }"
    v-if="show"
  >
    <p>Hello, Vue!</p>
  </div>
  <button @click="toggle">Toggle</button>
</template>

<script>
export default {
  data() {
    return {
      show: false
    };
  },
  methods: {
    toggle() {
      this.show = !this.show;
    }
  }
};
</script>

<style>
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter-to,
.fade-leave-to {
  opacity: 0;
}
</style>
  1. Komponen kumpulan peralihan: Dalam sesetengah senario di mana subelemen perlu ditambah atau dipadamkan secara dinamik, kami boleh menggunakan komponen kumpulan peralihan untuk mencapai kesan peralihan. Sebagai contoh, dalam kod berikut, kita boleh mencapai kesan peralihan unsur anak dengan menentukan atribut nama kepada komponen kumpulan peralihan dan mentakrifkan nama kelas yang sepadan dalam fail CSS:
<template>
  <div>
    <transition-group name="list" tag="ul">
      <li v-for="(item, index) in list" :key="index">{{ item }}</li>
    </transition-group>
    <button @click="addItem">Add Item</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: ['Item 1', 'Item 2', 'Item 3']
    };
  },
  methods: {
    addItem() {
      this.list.push('New Item');
    }
  }
};
</script>

<style>
.list-enter-active,
.list-leave-active {
  transition: all 0.5s;
}
.list-enter,
.list-leave-to {
  opacity: 0;
  transform: translateY(20px);
}
</style>
  1. Kesan Tatal: Jika kita perlu mencapai kesan tatal apabila menambah item baharu pada senarai, kita boleh mencapainya dengan menggunakan atribut ref dan kaedah $nextTick. Sebagai contoh, dalam kod berikut, kita boleh menggunakan kaedah $nextTick untuk menatal elemen bekas ke kedudukan item baharu selepas menambahkannya pada senarai:
<template>
  <div ref="listWrapper">
    <transition-group name="list" tag="ul">
      <li v-for="(item, index) in list" :key="index">{{ item }}</li>
    </transition-group>
    <button @click="addItem">Add Item</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      list: ['Item 1', 'Item 2', 'Item 3']
    };
  },
  methods: {
    addItem() {
      this.list.push('New Item');
      this.$nextTick(() => {
        const listWrapper = this.$refs.listWrapper;
        const newItem = listWrapper.lastElementChild;
        listWrapper.scrollBy({
          top: newItem.offsetTop,
          behavior: 'smooth'
        });
      });
    }
  }
};
</script>

<style>
.list-enter-active,
.list-leave-active {
  transition: all 0.5s;
}
.list-enter,
.list-leave-to {
  opacity: 0;
  transform: translateY(20px);
}
</style>

3. Ringkasan

Lulus Daripada pengenalan artikel ini, kita boleh belajar cara menggunakan fungsi kesan peralihan dinamik dalam rangka kerja Vue, kemahiran aplikasi praktikal dan senario aplikasi, yang membolehkan kita menggunakan fungsi ini dengan lebih fleksibel dan cekap semasa proses pembangunan untuk mencapai kesan animasi peralihan yang mesra pengguna, meningkatkan pengalaman pengguna aplikasi. Pada masa yang sama, kita juga boleh menggunakan teknik dan kaedah ini secara fleksibel untuk mencapai kesan peralihan yang lebih pelbagai dan semula jadi mengikut keperluan dan keadaan sebenar kita sendiri.

Atas ialah kandungan terperinci Aplikasi fungsi kesan peralihan dinamik dalam dokumen 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