VUE动画过渡transition标签问题

3,010 阅读1分钟

由于需求,要做一个部分的控件点击切换,但是由于使用了v-if控制所以css无法进行操控,所以只能研究vue的过渡动画,但是过渡动画又会出现同时进行的问题,所以

vuetransition标签不支持多个子元素

  1. 将要离开的部分和要进来的部分分开两个盒子放置,同时写进transition标签,然后不通过v-if的取反进行判断(例:v-if == flag v-if == !flag),直接使用v-else
  2. transition标签添加mode属性:
  • in-out:新元素先进行过渡,完成之后当前元素过渡离开。
  • out-in:当前元素先进行过渡,完成之后新元素过渡进入。
  1. 给两个盒子添加key属性,自己命名,以便vue区分,引用了vue的原话:
  • 当有相同标签名的元素切换时,需要通过 key 特性设置唯一的值来标记以让 Vue 区分它们,否则 Vue 为了效率只会替换相同标签内部的内容。即使在技术上没有必要,给在 <transition> 组件中的多个元素设置 key 是一个更好的实践。

以上是避免以后踩坑忘了之前的痛