vue的过渡动画,主要是transition标签的使用,配合css动画实现的。官方文档css过渡
通过点击事件来切换show的值来改变显示的文本,下面的css通过进入离开时的在匀速状态下xxs(秒)下来转换在x轴上位移的距离, transition包括的是位移的内。key是必须有的,用来标记位移的哪一个,这个方法有一点,用v-if时会频繁的建立销毁。name是你定义的名字必须有,和css里面的名字是保持一致的,你可以自定义名字。
使用它时有时候切换的并不是标签,而是一个组件,这时候应该使用transition-group来包括。
<template> <div> <div> <span @click="show = 0">第一个</span> <span @click="show = 2">第二个</span> <span @click="show = 3">第三个</span> </div> <transition-group name="slide"> <div v-show="show == 0" key="0">第一个文本</div> <div v-show="show == 2" key="2">第二个文本</div> <div v-show="show == 3" key="3">第三个文本</div> </transition-group> </div> </template> <script> export default { data () { return { show:0 } } } </script> <style> .slide-enter-active{ transition:all .5s linear; } .slide-leave-active{ transition:all .1s linear; } .slide-enter{ transform: translateX(-100%); opacity: 0; } .slide-leave-to{ transform: translateX(110%); opacity: 0; } </style>