vue中关于动画< transition >< transition-group>
1 过渡的类名
- v-enter:定义进入过渡的开始状态 在元素被插入之前生效,在元素被插入之后的下一帧移除
- v-enter-active:定义进入过渡生效时的状态, 在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除
- v-enter-to: 定义进入过渡的结束状态,在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除
- 定义离开过渡的开始状态, 在离开过渡被触发时立刻生效,下一帧被移除
- v-leave-active:定义离开过渡生效时的状态,在整个离开过渡的阶段中应用,在离开过渡被触发时,立刻生效,在过渡/动画完成之后移除
- v-leave-to: 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 ,在过渡/动画完成之后移除
代码如下图
v-开头的类名 最终被transition标签中的name值代替 例如 v-enter变成xyz-enter
2 css动画类名
- v-enter-active
- v-leave-active
代码如下图
3 自定义过渡的类名 和animate.css使用 4.1
enter-class
enter-active-class
enter-to-class
leave-class
leave-active-class
leave-to-class
在vue脚手架中 安装animate.css 现在下载安装的4.1的最新版
animate.css 4.1版本和3.X版本使用动画类名时 基础类和辅助类名是有区别的
例如:使用animate.css 3.X版本
< transition name="demo" enter-active-class="animated slideInLeft">
使用animate.css 4.1版本
< transition name="demo" enter-active-class="animate__animated animate__bounce">
脚手架安装animate.css过程:
1 npm install animate.css --save
2 在main.js中引入 import animate from 'animate.css'
代码如下所示:
< template>
< div class=“trans”>
< h3>演示transition组件的使用
< input type=“checkbox” v-model=“isShow”>同意以下协议规定
< transition name=“xyz”
enter-active-class=“animate__animated animate__bounce”
leave-active-class=“animate__animated animate__slideOutUp”
@enter=“handleEnter”
@leave=“handleLeave”
>
< div v-show=“isShow”>
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Nesciunt eos saepe velit eveniet, pariatur cum magnam
tempore expedita deserunt eaque suscipit neque similique voluptates accusamus! Quaerat ut commodi aliquid
architecto!
< /div>
</ transition>
< /div>
< /template>
< script>
export default {
data(){
return {
isShow:false
}
},
methods:{
handleEnter(){console.log(enter Le
)},
handleLeave(){console.log(leave Le
)}
}
}
< /script>