- (1)多元素过渡
- (2)多组件过渡
- (3)列表过渡
- (4)动画封装
多元素过渡
- 首先介绍下如何实现多元素过渡
- (1)利用条件编译指令v-if与v-else实现多元素内容切换.
- (2)接下来在内容切换基础上,添加过渡动画,例如渐隐渐现效果
- 1、transition添加name属性命名
- 2、设置过渡状态
- (3)状态管理
- 测试后发现并没有过渡效果,分析原因Vue在多个元素切换过程中会尽量复用DOM,如果不加key,那么vue会选择复用节点(Vue的就地更新策略),导致之前节点的状态被保留下来,由此产生一系列的bug.。
- 方案:给多元素添加不同key进行状态管理,代码如下
- 多元素过渡-案例练习
- 多元素过渡可以通过v-if条件指令进行控制
- 点击验证后发现,在过渡过程中area区域被重绘了,一个离开过渡的时候另一个开始进入过渡。
- 这是
<transition>
的默认行为 - 即进入和离开同时发生。 - 方案:在元素绝对定位时候运行正常:
- 也可以给元素加上转换属性,实现滑动过渡的效果
多元素过渡-过渡模式
- 同时生效的进入和离开的过渡不能满足所有要求,所以 Vue 提供了两种过渡模式。
- ①in-out:新元素先进行过渡,完成之后当前元素过渡离开(不是经常用到,但对于一些稍微不同的过渡效果还是有用的)