亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Jadual Kandungan
Apa yang berlaku semasa menamakan peralihan?
Membina satu set kesan peralihan
Sekarang, mari kita perlahan selama satu minit
Mari simpan set peralihan yang fleksibel
Peralihan dinamik
Contoh 1: Tukar peralihan mengikut jawapannya
Contoh 2: Tukar peralihan berdasarkan interaksi pengguna
Contoh 3: Tukar peralihan berdasarkan status senarai
Rumah hujung hadapan web tutorial css Kuasa peralihan bernama di vue

Kuasa peralihan bernama di vue

Apr 21, 2025 am 09:32 AM

Kekuatan peralihan bernama di vue

Vue.js menyediakan pelbagai cara untuk mengawal bagaimana unsur -unsur atau komponen diberikan secara visual apabila dimasukkan ke dalam DOM, seperti memudar, meluncur masuk, atau kesan visual lain. Hampir semua ciri ini didasarkan pada satu komponen: komponen peralihan .

Contoh mudah ialah v-if berdasarkan nilai boolean. Apabila Boolean benar, elemen itu muncul; Apabila ia palsu, elemen itu hilang. Biasanya, elemen ini muncul dan hilang secara tiba -tiba, tetapi dengan komponen peralihan, anda dapat mengawal kesan visual.

<transition><div v-if="isVisible"> Adakah ia kelihatan?</div></transition>

Banyak artikel memberikan pengenalan yang baik kepada komponen peralihan, seperti Sarah Drasner, Nicolas Udy, dan Hassan Djirdeh. Setiap artikel terperinci aspek yang berbeza dari komponen peralihan VUE. Artikel ini akan memberi tumpuan kepada satu aspek komponen peralihan: mereka boleh "dinamakan".

<transition name="fade"><div v-if="isVisible"> Adakah ia kelihatan?</div></transition>

Perubahan awal yang dibawa oleh harta ini ialah kelas CSS yang disuntik ke dalam elemen semasa urutan peralihan akan diawali dengan nama yang diberikan. Pada asasnya, ia akan menjadi fade-enter dan bukannya v-enter di atas. Harta tunggal ini mempunyai lebih banyak daripada pilihan mudah ini. Ia boleh digunakan untuk memanfaatkan ciri -ciri tertentu VUE dan CSS untuk menghasilkan beberapa hasil yang menarik.

Satu lagi perkara yang perlu dipertimbangkan ialah atribut nama boleh terikat:

<transition :name="currentTransition"><div v-if="isVisible"> Adakah ia kelihatan?</div></transition>

Dalam contoh ini, peralihan akan dinamakan sebagai nilai yang dihuraikan oleh currentTransition . Perubahan mudah ini menyediakan satu lagi lapisan pilihan dan fungsi untuk animasi aplikasi. Menggunakan peralihan penamaan statik dan dinamik, projek-projek boleh mempunyai satu siri peralihan pra-dibina yang sedia untuk digunakan sepanjang aplikasi, boleh memanjangkan komponen yang digunakan untuk peralihan sedia ada mereka, menukar peralihan yang digunakan sebelum atau selepas aplikasi, membolehkan pengguna memilih peralihan, dan mengawal bagaimana unsur-unsur individu peralihan senarai ke tempat berdasarkan keadaan semasa.

Artikel ini bertujuan untuk meneroka ciri -ciri ini dan menerangkan cara menggunakannya.

Apa yang berlaku semasa menamakan peralihan?

Secara lalai, apabila menggunakan komponen peralihan, ia menggunakan kelas tertentu untuk elemen dalam urutan tertentu. Kelas -kelas ini boleh digunakan dalam CSS. Tanpa CSS, kelas -kelas ini sebenarnya tidak memberi kesan kepada unsur -unsur. Oleh itu, CSS sifat ini diperlukan:

 .v-Enter,
.v-leave-to {
  Kelegapan: 0;
}

.v-Enter-Active,
.v-leave-active {
  Peralihan: 0.5s;
}

Ini menyebabkan elemen memudar masuk dan keluar selama setengah saat. Perubahan sedikit kepada peralihan memberikan pengguna maklum balas visual yang elegan. Walau bagaimanapun, masih ada masalah untuk dipertimbangkan. Tetapi pertama, apakah perbezaan antara peralihan penamaan?

 .fade-enter,
.fade-leave-to {
  Kelegapan: 0;
}

.fade-enter-active,
.fade-leave-active {
  Peralihan: 0.5s;
}

Pada dasarnya CSS yang sama, tetapi menggunakan fade- as Prefix dan bukannya v- . Penamaan ini menyelesaikan masalah yang mungkin berlaku apabila menggunakan nama kelas lalai komponen peralihan. Awalan v- sebenarnya menjadikan kelas global, terutamanya apabila meletakkan CSS dalam blok gaya di peringkat akar aplikasi. Ini sebenarnya akan menjadikan * semua * peralihan tanpa atribut nama dalam keseluruhan aplikasi menggunakan kesan peralihan yang sama. Untuk aplikasi yang lebih kecil, ini mungkin cukup, tetapi dalam aplikasi yang lebih besar, lebih kompleks, ini boleh membawa kepada visual yang buruk, kerana tidak semuanya harus pudar masuk dan keluar dalam setengah saat.

Peralihan penamaan menyediakan pemaju dengan tahap kawalan sepanjang projek mereka tentang cara memasukkan secara visual atau memadam elemen atau komponen yang berbeza. Adalah disyorkan agar semua peralihan dinamakan - walaupun hanya satu - untuk membangunkan kebiasaan berbuat demikian. Walaupun aplikasi itu hanya mempunyai satu kesan peralihan, kesan peralihan baru mungkin perlu ditambah pada masa akan datang. Peralihan sedia ada telah dinamakan dalam projek, yang memudahkan usaha untuk menambah peralihan baru.

Membina satu set kesan peralihan

Peralihan menamakan menyediakan proses yang mudah tetapi sangat berguna. Amalan biasa mungkin untuk mewujudkan kelas peralihan sebagai sebahagian daripada komponen yang menggunakannya. Jika satu lagi amalan biasa gaya komponen scoped selesai, kelas -kelas ini hanya akan tersedia untuk komponen tertentu. Jika dua komponen yang berbeza mempunyai peralihan yang sama dalam blok gaya mereka, maka kami hanya mengulangi kod tersebut.

Oleh itu, mari kita pertimbangkan untuk mengekalkan CSS peralihan dalam blok gaya direktori akar aplikasi, biasanya fail app.vue . Dalam kebanyakan projek saya, saya meletakkannya di bahagian terakhir blok gaya untuk mencari pelarasan dan tambahan. Simpan CSS di lokasi ini supaya kesan peralihan boleh digunakan untuk setiap penggunaan komponen peralihan sepanjang aplikasi. Berikut adalah beberapa contoh dari beberapa projek saya.

 .fade-enter,
.fade-leave-to {opacity: 0; }
.fade-enter-active,
.fade-leave-active {peralihan: 0.5S; }

.slide-enter {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (400px, 0, 0);
}

.slide-enter-to {transform: scale3d (1, 1, 1); }
.Slide-Enter-Active,
.slide-leave-active {Transition: 0.5S Cubic-bezier (0.68, -0.55, 0.265, 1.55); }
.slide-leave {transform: scale3d (1, 1, 1); }

.slide-leave-to {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (-400px, 0, 0);
}

.Rotate-Enter {transform: perspektif (500px) berputar3d (0, 1, 0, 90deg); }
.Rotate-Enter-Active,
.Rotate-Leave-Active {Transition: 0.5S; }
.Rotate-leave-to {transform: perspektif (500px) berputar3d (0, 1, 0, -90deg); }

Bergantung pada keutamaan dan keperluan projek anda, terdapat beberapa cara untuk menyimpan kelas peralihan ini. Yang pertama, seperti yang disebutkan sebelumnya, adalah untuk menyelamatkan segala -galanya dalam blok gaya fail app.vue . Anda juga boleh menyimpan semua bahagian sass yang beralih projek dalam folder aset projek dan mengimportnya ke dalam blok gaya aplikasi.

 @import "aset/_transitions.scss";

Kaedah ini membolehkan tweaking dan menambah koleksi peralihan di luar fail VUE. Satu lagi manfaat dari persediaan ini ialah jika projek itu berkongsi kesan peralihan, anda boleh dengan mudah memindahkan fail tersebut antara projek. Sekiranya projek mendapat peralihan baru, mudah untuk memindahkan kandungan tambahan ke projek lain tanpa menyentuh fail projek utama.

Jika anda menggunakan CSS dan bukannya SASS, anda boleh memasukkan fail sebagai kebergantungan untuk projek anda. Anda boleh melakukan ini dengan menyimpan fail dalam folder aset projek anda dan meletakkan pernyataan require dalam fail main.js

 memerlukan ("@/aset/peralihan.css");

Pilihan lain adalah untuk menyimpan gaya peralihan dalam fail CSS statik, yang boleh disimpan di tempat lain, sama ada dalam folder awam projek, atau secara langsung pada pelayan. Oleh kerana ini adalah fail CSS biasa, tidak perlu membina atau menggunakan - hanya termasuk rujukan pautan dalam fail index.html .

<link href="/css/transitions.css" rel="stylesheet" type="text/css">

Fail ini juga boleh disimpan dalam CDN untuk berkongsi semua projek. Setiap kali fail dikemas kini, perubahan itu segera tersedia di semua tempat di mana ia dirujuk. Jika nama peralihan baru dibuat, projek sedia ada boleh mula menggunakan nama baru yang diperlukan.

Sekarang, mari kita perlahan selama satu minit

Apabila kita membina koleksi peralihan untuk digunakan sepanjang projek kami, mari kita pertimbangkan pengguna yang mungkin tidak mahu animasi terlalu tiba -tiba atau tidak mahu animasi muncul sama sekali. Sesetengah mungkin berfikir animasi kami terlalu dibesar -besarkan dan tidak perlu, tetapi bagi sesetengah orang, mereka sebenarnya boleh menimbulkan masalah. Beberapa ketika dahulu, WebKit memperkenalkan pertanyaan media prefers-reduced-motion untuk membantu menyelesaikan kemungkinan halangan spektrum vestibular . Eric Bailey juga mencatatkan pengenalan yang baik kepada pertanyaan media.

Dalam kebanyakan kes, sangat mudah untuk mempunyai pertanyaan media sebagai sebahagian daripada set peralihan kami dan harus dipertimbangkan. Kita boleh mengurangkan jumlah latihan yang terlibat dalam peralihan untuk mengurangkan kesan negatif, atau hanya mematikannya.

Berikut adalah contoh mudah dari salah satu demo saya:

 .Next-Enter {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (400px, 0, 0);
}

.next-enter-to {transform: scale3d (1, 1, 1); }
.next-enter-active,
.Next-Leave-Active {Transition: 0.5S Cubic-bezier (0.68, -0.55, 0.265, 1.55); }
.Next-Leave {Transform: Scale3D (1, 1, 1); }

.next-leave-to {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (-400px, 0, 0);
}

/* Gunakan peralihan yang lebih mudah jika animasi dikurangkan pada tahap sistem operasi*/
@media skrin dan (lebih suka-dikurangkan-gerakan: mengurangkan) {
  .Next-Enter {
    Kelegapan: 0;
    Transform: Translate3D (100px, 0, 0);
  }

  .next-enter-active,
  .NEXT-LEAVE-ACTIVE {peralihan: 0.5S; }

  .next-leave-to {
    Kelegapan: 0;
    Transform: Translate3D (-100px, 0, 0);
  }
}

Dalam contoh ini, saya mengambil peralihan yang agak dibesar -besarkan dan menjadikannya lebih mudah. Animasi adalah animasi gelongsor yang bergerak ke kiri dengan kesan pelonggaran elastik, kemudian mengecil dan memudar apabila dikeluarkan. Sekiranya keutamaan gerakan yang dikurangkan seseorang ditetapkan, animasi menjadi peralihan yang lebih mudah, dengan jarak yang lebih pendek (yang menjadikannya lebih perlahan) dan terus memudar. Jika kita mahu mematikannya, kita hanya perlu merujuk kepada kelas dengan atribut transition dan menetapkan nilai mereka kepada none .

Untuk menguji ini, anda perlu mencari dan memilih kotak semak pada sistem pengendalian masing -masing. Pada Windows, anda boleh menemuinya di<kbd>控制面板> 易于訪問中心> 使計(jì)算機(jī)更容易查看</kbd>; Cari "Tutup semua animasi yang tidak perlu (jika boleh).". Pada Mac, periksa<kbd>系統(tǒng)偏好設(shè)置> 輔助功能> 顯示</kbd>; Cari "Kurangkan Sukan". Peranti iOS terkini mempunyai tetapan yang sama di bawah<kbd>輔助功能</kbd>.

Mari simpan set peralihan yang fleksibel

Dengan set peralihan ini, mungkin ada masalah dengan ketidakcekapan. Sebagai contoh, bagaimana jika elemen memerlukan masa pudar yang lebih perlahan? Dengan mengandaikan segala-galanya dalam kesan boleh ditinggalkan tidak berubah, hanya ubah transition-duration . Ada cara untuk menyesuaikan diri tanpa membuat nama peralihan yang baru.

Cara paling mudah ialah menggunakan gaya dalam talian secara langsung pada unsur -unsur dalam komponen peralihan.

<transition name="fade"><div style="transition-duration: 6s;" v-if="isVisible"> Ini mempunyai tempoh yang berbeza</div></transition>

Perubahan sedemikian boleh dilakukan melalui pelbagai kaedah pengendalian gaya dan kelas yang disediakan oleh VUE.

Katakan anda menggunakan elemen komponen dengan is untuk melakukan komponen dinamik, sebagai contoh:

<transition mode="out-in" name="fade"><component :is="currentComponent"></component></transition>

Walaupun dengan komponen dinamik ini, kami mempunyai pilihan untuk menyesuaikan sifat -sifat kesan peralihan. Begitu juga, kita boleh menggunakan gaya sebaris pada elemen komponen, yang akan diletakkan pada elemen akar komponen. Unsur akar juga menerima kelas peralihan, jadi kami akan terus menimpa sifatnya.

<transition mode="out-in" name="fade"><component :is="currentComponent" style="transition-duration: 6s;"></component></transition>

Pilihan lain adalah untuk lulus prop ke komponen kami. Dengan cara ini, perubahan yang diperlukan boleh digunakan untuk elemen akarnya melalui kod komponen.

<transition mode="out-in" name="fade"><component :is="currentComponent" duration="6s"></component></transition>
<template><div :style="`transition-duration: ${duration}`"> Komponen satu</div></template>
<script>
export default {
  name: "component-one",
  props: {
    duration: String
  }
};
</script>

Kita juga boleh mengatasi sifat -sifat kelas peralihan di dalam blok gaya komponen, terutamanya apabila dalam skop mereka.

 .fade-enter-active,
.fade-leave-active {peralihan-jangkauan: 1S; }

Dalam kes ini, tempoh pudar komponen akan menjadi satu saat, dan bukannya tempoh global setengah saat. Kita juga boleh melangkah lebih jauh dan menetapkan tempoh yang berbeza untuk setiap sisi urutan.

 .Fade-Enter-active {peralihan-jangkauan: 1S; }
.fade-leave-active {peralihan-jangkauan: 2S; }

Mana -mana kelas peralihan global boleh diubah dalam komponen seperti yang diperlukan. Walaupun ini tidak fleksibel seperti perubahan sifat di luar struktur kelas, ia masih sangat berguna dalam beberapa kes.

Seperti yang dapat anda lihat, walaupun dengan koleksi peralihan prebuilt kami, kami masih mempunyai pilihan untuk menjadi fleksibel.

Peralihan dinamik

Walaupun selepas kita dapat melakukan semua perkara yang menarik ini dengan komponen peralihan Vue, satu lagi ciri menarik masih menunggu untuk diterokai. Harta nama pada komponen peralihan boleh dinamik, bermakna kita boleh mengubah peralihan yang sedang digunakan pada kehendak.

Ini bermakna peralihan boleh diubah mengikut situasi yang berbeza dalam kod untuk mempunyai kesan animasi yang berbeza. Sebagai contoh, kita boleh menukar peralihan berdasarkan jawapan kepada soalan, tentukan peralihan berdasarkan interaksi pengguna, dan mempunyai senarai menggunakan peralihan yang berbeza berdasarkan keadaan semasa senarai itu sendiri.

Mari lihat tiga contoh ini.

Contoh 1: Tukar peralihan mengikut jawapannya

Dalam contoh ini, kita mempunyai masalah matematik yang mudah untuk dijawab. Pilih dua nombor secara rawak dan kami harus memberikan jumlah mereka. Kemudian klik butang untuk membandingkan jawapan kepada jawapan yang diharapkan. Pemberitahuan kecil akan muncul di atas persamaan yang menunjukkan sama ada jawapannya adalah benar atau palsu. Sekiranya jawapannya betul, pemberitahuan memberikan cadangan mengangguk untuk menunjukkan peralihan positif animasi atas dan ke bawah. Jika jawapan anda tidak betul, pemberitahuan akan bergerak ke kiri dan kanan, menunjukkan gegaran kepala dan penolakan anda.

Logik di belakangnya tidak rumit, dan penetapan peralihan tidak rumit. Ini html:

<transition :name="currentTransition"><div v-if="answerChecked"> {{response}}</div></transition>

Sifatnya agak mudah. Kami mempunyai nama terikat pada peralihan dan kemudian v-if pada div pemberitahuan. Kami juga menggunakan kelas yang benar atau palsu untuk menghiasi pemberitahuan berdasarkan respons.

Inilah CSS peralihan:

 .positive-enter-active {animation: positif 1s; }
@keyframes positif {
  0% {transform: translate3d (0, 0, 0); }
  25% {transform: translate3d (0, -20px, 0); }
  50% {transform: translate3d (0, 20px, 0); }
  75% {transform: translate3d (0, -20px, 0); }
  100% {transform: translate3d (0, 0, 0); }
}

.Negative-Enter-active {animation: negatif 1S; }
@keyframes negatif {
  0% {transform: translate3d (0, 0, 0); }
  25% {transform: translate3d (-20px, 0, 0); }
  50% {transform: translate3d (20px, 0, 0); }
  75% {transform: translate3d (-20px, 0, 0); }
  100% {transform: translate3d (0, 0, 0); }
}

Anda akan melihat bahawa saya menggunakan animasi CSS untuk mencapai ke atas dan ke bawah dan kesan kiri dan kanan.

Berikut adalah beberapa kod JavaScript:

 Kaedah: {
  RandomProblem: fungsi () {
    this.a = math.floor (math.random () * math.floor (10));
    this.b = math.floor (math.random () * math.floor (10));
  },
  semak: fungsi () {
    this.response = this.a this.b === parseInt (this.answer);
    this.answerchecked = true;
    this.currentTransition = this.response? 'positif': 'negatif';
  },
  Reset: fungsi () {
    this.answer = null;
    this.answerchecked = false;
    this.randomproblem ();
  }
}

Berikut adalah kaedah randomProblem untuk menetapkan persamaan kami. Kaedah check menentukan kesan peralihan yang digunakan berdasarkan membandingkan jawapan yang disediakan dengan jawapan yang betul. Kemudian ada kaedah reset mudah, yang hanya menetapkan semula segala -galanya.

Ini hanya satu contoh mudah. Satu lagi contoh yang mungkin adalah pemberitahuan dengan dua kesan yang berbeza bergantung kepada sama ada pemberitahuan itu penting atau tidak. Sekiranya mesej itu tidak begitu penting, maka kita boleh menggunakan animasi halus yang tidak akan membiarkan mata pengguna meninggalkan tugas semasa. Jika penting, kita boleh menggunakan lebih banyak animasi langsung untuk memaksa mata untuk mencari pemberitahuan.

Contoh 2: Tukar peralihan berdasarkan interaksi pengguna

Satu lagi perkara yang boleh kita bina adalah semacam karusel. Ini boleh menjadi persembahan slaid, galeri gambar, atau satu siri arahan. Idea asas ialah kita perlu membentangkan maklumat kepada pengguna mengikut urutan. Dalam demonstrasi ini, pengguna boleh membuat keputusan untuk meneruskan dan sama ada untuk bergerak ke hadapan atau ke belakang.

Ini juga persediaan yang agak mudah. Contoh ini lebih kurang kes jenis persembahan slaid. Kedua -dua butang di bahagian bawah bertukar antara dua komponen dengan peralihan gelongsor. Projek sebenar akan mempunyai lebih banyak komponen, atau boleh mengubah logik kandungan komponen, bergantung kepada slaid semasa. Contoh ini akan disimpan mudah untuk menunjukkan idea itu.

Ini html:

<transition :name="currentTransition" mode="out-in"><component :is="slides[currentSlide]"></component></transition>

Anda akan melihat bahawa apabila komponen dihidupkan melalui pengikatan is atribut pada elemen komponen, kami hanya membuat peralihan.

Ini adalah CSS:

 .Next-Enter {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (400px, 0, 0);
}

.next-enter-to {transform: scale3d (1, 1, 1); }
.next-enter-active,
.Next-Leave-Active {Transition: 0.5S Cubic-bezier (0.68, -0.55, 0.265, 1.55); }
.Next-Leave {Transform: Scale3D (1, 1, 1); }

.next-leave-to {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (-400px, 0, 0);
}

.prev-Enter {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (-400px, 0, 0);
}

.prev-enter-to {transform: scale3d (1, 1, 1); }
.prev-enter-active,
.prev-leave-active {peralihan: 0.5S padu-bezier (0.68, -0.55, 0.265, 1.55); }
.prev-leave {transform: scale3d (1, 1, 1); }

.prev-leave-to {
  Kelegapan: 0;
  Transform: SCALE3D (2, 0.5, 1) Translate3D (400px, 0, 0);
}

/* Gunakan peralihan yang lebih mudah jika animasi dikurangkan pada tahap sistem operasi*/
@media skrin dan (lebih suka-dikurangkan-gerakan: mengurangkan) {
  .Next-Enter {Opacity: 0; Transform: Translate3D (100px, 0, 0); }
  .next-enter-active,
  .NEXT-LEAVE-ACTIVE {peralihan: 0.5S; }
  .next-leave-to {opacity: 0; Transform: Translate3D (-100px, 0, 0); }

  .prev-Enter {opacity: 0; Transform: Translate3D (-100px, 0, 0); }
  .prev-enter-active,
  .prev-leave-active {peralihan: 0.5s; }
  .prev-leave-to {opacity: 0; Transform: Translate3D (100px, 0, 0); }
}

Di sini kita mempunyai dua peralihan, satu untuk butang "Seterusnya" apabila pengguna mengklik butang "Seterusnya" dan yang lain untuk butang "Prev". Setiap pada dasarnya menggunakan sifat transform untuk meluncurkan komponen ke arah yang sesuai, tetapi terdapat beberapa tambahan untuk membuat kesan memerah untuk kesan kartun. Kami juga menggunakan prefers-reduced-motion untuk mengubah animasi ke kesan pudar yang lebih mudah dan sapu sedikit ke arah yang betul.

Sekarang, untuk JavaScript:

 Kaedah: {
  perubahan: fungsi (dir) {
    this.currentslide = dir === 'seterusnya'? this.currentslide 1: this.currentslide - 1;
    this.currentTransition = dir;
  }
}

Setiap butang memanggil kaedah changeSlide pada acara kliknya dan melepasi arah yang diwakilinya. Kemudian kami mempunyai beberapa logik untuk mengesan slaid semasa. Kawalan kod talian tunggal yang peralihan digunakan. Oleh kerana butang "seterusnya" berlalu "seterusnya" sebagai arahan, ia sepadan dengan peralihan "seterusnya" dalam CSS. Begitu juga dengan butang "Sebelum". Setiap kali pengguna mengklik butang, aplikasi secara automatik mengetahui peralihan yang digunakan. Oleh itu, kami mempunyai kesan peralihan yang baik yang dapat memberikan konteks mengenai arah yang pengguna sedang menuju ke urutan.

Contoh 3: Tukar peralihan berdasarkan status senarai

Untuk contoh terakhir kami, kami akan belajar bagaimana menukar peralihan berdasarkan keadaan semasa senarai dalam komponen transition-group . Idea di sini adalah senarai, setiap kali item dikemas kini, setiap kali menggunakan peralihan yang berbeza.

Dalam contoh ini, kami menunjukkan senarai bandar di sebelah kanan dan senarai kosong di sebelah kiri. Apabila memilih bandar di sebelah kanan, mereka mengisi kekosongan di sebelah kiri. Bandar pertama slaid dari atas sambil memudar ke dalam pandangan. Bandar seterusnya sebelum bandar terakhir akan meluncur dari kanan atau kiri, bergantung kepada peralihan sebelumnya, bandar terakhir akan meluncur dari bawah.

Ini html:

<transition-group :name="currentListTransition" tag="ul"><li :key="item" v-for="(item, index) in selectedItems"> {{item}}</li></transition-group>

Seperti biasa, persediaan yang agak mudah. Berikut adalah peralihan dalam CSS:

 .top-enter-active,
.top-leave-active {peralihan: 0.5s; }
.top-enter,
.top-leave-to {
  Kelegapan: 0;
  Transform: Translate3D (0, -40px, 0);
}

.top-move {
  Kelegapan: 0.5;
  Peralihan: 0.5s;
}

.Left-Enter-Active,
.Left-Leave-Active {Transition: 0.5S; }
.Left-Enter,
.left-leave-to {
  Kelegapan: 0;
  Transform: Translate3D (-40px, 0, 0);
}

.Left-move {
  Kelegapan: 0.5;
  Peralihan: 0.5s;
}

.Right-Enter-Active,
.Right-Leave-Active {Transition: 0.5S; }
.Right-Enter,
.Right-leave-to {
  Kelegapan: 0;
  Transform: Translate3D (40px, 0, 0);
}

.right-move {
  Kelegapan: 0.5;
  Peralihan: 0.5s;
}

.bottom-enter-active,
.bottom-leave-active {peralihan: 0.5S; }
.bottom-enter,
.bottom-leave-to {
  Kelegapan: 0;
  Transform: Translate3D (0, 30px, 0);
}

.bottom-move {
  Kelegapan: 0.5;
  Peralihan: 0.5s;
}

/* Jika animasi dikurangkan pada tahap sistem operasi, tutup peralihan*/
@media skrin dan (lebih suka-dikurangkan-gerakan: mengurangkan) {
  .top-enter-active,
  .top-leave-active {transition: none; }
  .top-move {transition: none; }
  .Left-Enter-Active,
  .Left-Leave-Active {Transition: none; }
  .Left-Move {Transition: none; }
  .Right-Enter-Active,
  .Right-Leave-Active {Transition: none; }
  .right-move {transition: none; }
  .bottom-enter-active,
  .bottom-leave-active {transition: none; }
  .bottom-move {transition: none; }
}

Seperti yang anda lihat, setiap arah bandar yang mungkin muncul dalam senarai kosong dengan peralihan.

Sekarang, untuk JavaScript kami:

 Kaedah: {
  Choosecity: fungsi (indeks) {
    biarkan selectedLength = this.selectedItems.length;
    biarkan CityLength = this.cities.length;
    biarkan clt = this.currentListTransition;

    jika (selectedLength === 0) {
      clt = 'atas';
    } else if (SelectedLength> 0 && SelectedLength <citieslength clt="clt" else this.currentlisttransition="clt;" this.selecteditems.push this.cities.splice><p> Kaedah <code>chooseCity</code> mengendalikan apa yang berlaku apabila memilih setiap bandar. Apa yang kita bimbang adalah satu siri <code>if</code> dan <code>if/else</code> di tengah -tengah kaedah. Apabila sebuah bandar dipilih, logik melihat panjang semasa array <code>selectedItems</code> yang akhirnya menolak bandar yang dipilih. Jika panjangnya sifar, maka itu adalah bandar pertama, jadi peralihan harus membuatnya masuk dari atas. Jika panjang antara sifar dan jumlah senarai bandar, peralihan harus betul atau kiri. Arah baru yang digunakan adalah berdasarkan arah arah peralihan sebelumnya. Kemudian, akhirnya, jika kita memilih bandar terakhir, ia akan berubah ke peralihan bawah. Sekali lagi, kami menggunakan <code>prefers-reduced-motion</code> , yang sepenuhnya menutup peralihan dalam kes ini.</p>
<p> Pilihan lain untuk menukar peralihan senarai adalah untuk membuat perubahan berdasarkan jenis item yang dipilih; Sebagai contoh, Pantai Timur dan Bandar Pantai Barat, setiap bandar mempunyai peralihan yang berbeza. Pertimbangkan untuk menukar peralihan berdasarkan bilangan item semasa yang ditambahkan ke dalam senarai; Sebagai contoh, peralihan yang berbeza untuk setiap lima item.</p>
<h3> Selamat tinggal, terima kasih atas semua peralihan</h3>
<p> Selepas semua contoh dan idea ini, saya harap anda akan mempertimbangkan untuk memanfaatkan komponen peralihan Vue dalam projek anda sendiri. Terokai kemungkinan menambah peralihan dan animasi ke aplikasi anda untuk memberikan konteks dan kepentingan kepada pengguna anda. Dalam banyak kes, penambahan sedemikian sangat mudah dilaksanakan, hampir ke titik di mana ia adalah kasihan untuk tidak menambahnya. Vue menyediakan ciri luar kotak yang menarik dan sangat berguna, komponen peralihan, yang saya hanya boleh menggalakkan.</p>
<p> sorakan.</p></citieslength>

Atas ialah kandungan terperinci Kuasa peralihan bernama di vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1488
72
Tutorial CSS untuk membuat pemuatan dan animasi pemuatan Tutorial CSS untuk membuat pemuatan dan animasi pemuatan Jul 07, 2025 am 12:07 AM

Terdapat tiga cara untuk membuat pemutar pemuatan CSS: 1. Gunakan pemutar asas sempadan untuk mencapai animasi mudah melalui HTML dan CSS; 2. Gunakan pemutar tersuai pelbagai mata untuk mencapai kesan lompat melalui masa kelewatan yang berlainan; 3. Tambahkan pemutar dalam butang dan beralih kelas melalui JavaScript untuk memaparkan status pemuatan. Setiap pendekatan menekankan pentingnya butiran reka bentuk seperti warna, saiz, kebolehcapaian dan pengoptimuman prestasi untuk meningkatkan pengalaman pengguna.

Menangani masalah dan awalan keserasian penyemak imbas CSS Menangani masalah dan awalan keserasian penyemak imbas CSS Jul 07, 2025 am 01:44 AM

Untuk menangani keserasian pelayar CSS dan isu awalan, anda perlu memahami perbezaan sokongan penyemak imbas dan menggunakan awalan vendor dengan munasabah. 1. Memahami masalah biasa seperti Flexbox dan sokongan grid, kedudukan: prestasi tidak sah, dan prestasi animasi adalah berbeza; 2. Periksa status sokongan ciri CANIUSE Ciri; 3. Gunakan dengan betul -webkit-, -moz-, -ms-, -o- dan awalan pengeluar lain; 4. Adalah disyorkan untuk menggunakan autoprefixer untuk menambah awalan secara automatik; 5. Pasang postcss dan konfigurasi penyemak imbas untuk menentukan penyemak imbas sasaran; 6. Secara automatik mengendalikan keserasian semasa pembinaan; 7. Ciri -ciri pengesanan moden boleh digunakan untuk projek lama; 8. Tidak perlu meneruskan konsistensi semua pelayar,

Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay: inline, block, andinline-blockinhtml/cssarelayoutbehavior, spaceusage, andstylingcontrol.1.inlineelementsflowwithtext, notstartonNewlines, abaikanwidth/height, andonyapplylylylylylinddding/

Membuat bentuk tersuai dengan laluan klip CSS Membuat bentuk tersuai dengan laluan klip CSS Jul 09, 2025 am 01:29 AM

Gunakan atribut clip-path CSS untuk menanam unsur-unsur ke dalam bentuk tersuai, seperti segitiga, takik bulat, poligon, dan lain-lain, tanpa bergantung pada gambar atau SVG. Kelebihannya termasuk: 1. Menyokong pelbagai bentuk asas seperti Circle, Ellipse, Polygon, dan lain -lain; 2. Pelarasan responsif dan boleh disesuaikan dengan terminal mudah alih; 3. Mudah untuk animasi, dan boleh digabungkan dengan hover atau javascript untuk mencapai kesan dinamik; 4. Ia tidak menjejaskan aliran susun atur, dan hanya tanaman kawasan paparan. Penggunaan umum adalah seperti laluan klip bulat: bulatan (50pxatcenter) dan triangle clip-path: polygon (50%0%, 100 0%, 0 0%). Notis

Gaya yang dikunjungi pautan berbeza dengan CSS Gaya yang dikunjungi pautan berbeza dengan CSS Jul 11, 2025 am 03:26 AM

Menetapkan gaya pautan yang telah anda lawati dapat meningkatkan pengalaman pengguna, terutama di laman web yang berintensifkan kandungan untuk membantu pengguna menavigasi lebih baik. 1. Gunakan CSS: Kelas pseudo yang dilawati untuk menentukan gaya pautan yang dikunjungi, seperti perubahan warna; 2. Perhatikan bahawa penyemak imbas hanya membenarkan pengubahsuaian beberapa atribut disebabkan oleh sekatan privasi; 3. Pemilihan warna harus diselaraskan dengan gaya keseluruhan untuk mengelakkan ketangkasan; 4. Terminal mudah alih mungkin tidak memaparkan kesan ini, dan disyorkan untuk menggabungkannya dengan arahan visual lain seperti logo tambahan ikon.

Bagaimana untuk membuat imej responsif menggunakan CSS? Bagaimana untuk membuat imej responsif menggunakan CSS? Jul 15, 2025 am 01:10 AM

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Apakah ketidakkonsistenan penyemak imbas CSS biasa? Apakah ketidakkonsistenan penyemak imbas CSS biasa? Jul 26, 2025 am 07:04 AM

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Unit CSS Demystifying: PX, EM, REM, VW, VH Perbandingan Unit CSS Demystifying: PX, EM, REM, VW, VH Perbandingan Jul 08, 2025 am 02:16 AM

Pilihan unit CSS bergantung kepada keperluan reka bentuk dan keperluan responsif. 1.PX digunakan untuk saiz tetap, sesuai untuk kawalan yang tepat tetapi kekurangan keanjalan; 2.EM adalah unit relatif, yang mudah disebabkan oleh pengaruh unsur induk, sementara REM lebih stabil berdasarkan unsur akar dan sesuai untuk skala global; 3.VW/VH didasarkan pada saiz viewport, sesuai untuk reka bentuk yang responsif, tetapi perhatian harus dibayar kepada prestasi di bawah skrin yang melampau; 4. Apabila memilih, ia harus ditentukan berdasarkan sama ada pelarasan responsif, hubungan hierarki elemen dan ketergantungan viewport. Penggunaan yang munasabah boleh meningkatkan fleksibiliti dan penyelenggaraan susun atur.

See all articles