Vue-transition组件的Css动画+过渡(进阶),笔记总结 “建议收藏”
【摘要】 可以通过 appear 属性 设置节点在初始渲染的过渡,默认和进入/离开过渡一样,同样也可以自定义 CSS 类名和自定义 JavaScript 钩子;多个组件的过渡当有相同标签名的元素切换时,推荐通过 key 属性 设置唯一的值来标记,否则 Vue 为了效率只会替换相同标签内部的内容两个元素互相切换可以这样设置<transition> <button v-bind:key="isEdit...
可以通过
设置节点在初始渲染的过渡,默认和进入/离开过渡一样,同样也可以自定义 CSS 类名和自定义 JavaScript 钩子;当有相同标签名的元素切换时,推荐通过 key
属性 设置唯一的值来标记,否则 Vue 为了效率只会替换相同标签内部的内容
两个元素互相切换可以这样设置
-
in-out
:新元素先进行过渡,完成之后当前元素过渡离开。 -
out-in
:当前元素先进行过渡,完成之后新元素过渡进入。
这里还有
,可以直接去看官网,例子跟我上班的大同小异,我在这里就不解读了使用 v-for的
这种场景中,使用 <transition-group>
组件
这个组件的几个特点:
- 不同于
<transition>
,它会以一个真实元素呈现:默认为一个<span>
。你也可以通过tag
属性更换为其他元素。 - 不可用,因为不再相互切换特有的元素。
- 内部元素总是需要提供唯一的
key
属性值。 - CSS 过渡的类将会应用在内部的元素中,而不是这个组/容器本身。
<transition-group>
组件还有一个特殊之处。不仅可以进入和离开动画,还可以改变定位。
使用v-move属性就可以做到,它会在元素的改变定位的过程中应用。像之前的类名一样,可以通过 name
属性来自定义前缀,也可以通过 move-class
属性手动设置。
这样就可以在列表改变顺序的时候看到过渡了
注意:使用 FLIP(v-move
) 过渡的元素不能设置为 display: inline
。可以设置为 display: inline-block
或者放置于 flex 中
如果想复用过渡效果,创建一个可复用过渡组件将<transition>
或者 <transition-group>
作为根组件,然后将任何子组件放置在其中就可以了。
最后
如果对您有帮助,希望能给个👍评论收藏三连!
想跟博主交朋友的可以关注下🌹,有问题评论留言。
博主为人老实,无偿解答问题哦❤
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)