import { ref, onMounted } from 'vue'; export default { setup() { const isVisible = ref(false); onMounted(() => { isVisible.value = true; }); return { isVisible } } }
ref
pour créer une variable isVisible</code > réactive et définissez-le sur <code>true
dans la fonction de cycle de vie onMounted
du composant. En modifiant la valeur de isVisible
, nous pouvons contrôler dynamiquement l'affichage et le masquage des éléments. ref
创建了一个响应式的isVisible
变量,并在组件的onMounted
生命周期函数中将其设置为true
。通过修改isVisible
的值,我们可以实现动态控制元素的显示和隐藏。<transition>
组件包裹需要应用动画效果的元素,并通过添加类名来指定不同阶段的动画效果。而在Vue3中,除了可以继续使用<transition>
组件,还引入了<transition-group>
和<teleport>
组件,使动画效果的实现更加灵活和高效。<transition>
组件实现的简单淡入淡出效果的示例:<template> <transition name="fade"> <p v-if="isVisible">Hello, Vue3!</p> </transition> </template> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style>
<transition>
组件包裹了一个<p>
元素,并指定了动画效果的名称为"fade"。在CSS样式中,我们定义了动画的进入和离开阶段的样式,通过添加类名来触发动画效果。<Transition>
组件,我们可以很方便地集成GSAP,并使用其动画效果功能。<template> <transition name="rotate" enter-active-class="rotate-enter-active" enter-from-class="rotate-enter-from" > <div v-if="isVisible" class="box"></div> </transition> </template> <style> .box { width: 100px; height: 100px; background-color: red; } .rotate-enter-active { animation: rotateEnter 1s; } @keyframes rotateEnter { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style>
@keyframes
来实现旋转效果。通过给<transition>
组件添加enter-active-class
和enter-from-class
属性,将CSS动画应用到动画效果中。
<p>总结:<transition-group>
和<teleport>
<transition>
pour envelopper les éléments qui doivent être animés et spécifier différentes étapes en ajoutant des animations de noms de classe. effets. Dans Vue3, en plus de continuer à utiliser le composant <transition>
, <transition-group>
et <teleport>
sont également Les composants introduits rendent la mise en œuvre des effets d'animation plus flexible et efficace. 🎜🎜Voici un exemple d'effet de fondu simple utilisant le composant <transition>
de Vue3 : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons <transition>
Le composant encapsule un élément <p>
et spécifie le nom de l'effet d'animation comme "fondu". Dans le style CSS, nous définissons le style des étapes d'entrée et de sortie de l'animation et déclenchons l'effet d'animation en ajoutant le nom de la classe. 🎜<Transition>
de Vue3, nous pouvons facilement intégrer GSAP et utiliser sa fonction d'effet d'animation. 🎜🎜🎜Ce qui suit est un exemple d'effet de rotation dynamique obtenu à l'aide de Vue3 intégré à GSAP : 🎜rrreee🎜Dans le code ci-dessus, nous définissons un effet d'animation nommé "rotate" et utilisons le @keyframes
de CSS pour obtenir l'effet de rotation. Appliquez une animation CSS à l'effet d'animation en ajoutant les attributs enter-active-class
et enter-from-class
au composant <transition>
. 🎜🎜Résumé : Les améliorations apportées par 🎜Vue3 aux effets d'animation par rapport à Vue2 se reflètent principalement dans les aspects suivants : fourniture d'une méthode de programmation plus flexible pour implémenter l'animation ; introduction de <transition-group>
et du . Le composant <teleport>
étend les scénarios d'application des effets d'animation ; la prise en charge intégrée de GSAP offre une intégration plus puissante de la bibliothèque d'animation. 🎜🎜Ce qui précède est une introduction et un exemple de code de la prise en charge des effets d'animation plus puissante de Vue3 que Vue2. La nouvelle fonction d'animation nous rend plus pratiques et plus flexibles lors de la création de belles interfaces utilisateur. Avec d'autres améliorations apportées par Vue3, nous pouvons développer plus efficacement d'excellentes applications Vue. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!