2019独角兽企业重金招聘Python工程师标准>>>

多个元素的过渡

<style>.v-enter,.v-leave-to{opacity: 0;}.v-enter-acitve,.v-leave-active{opacity: opacity 1s;}
</style>
<div id='app'><transition><div v-if='show'>hello world</div><div v-else>bye world</div></transition><button @click='handleClick'>切换</button>
</div>
<script>
var vm = new Vue({el:'#app',data:{show:true},methods:{handleClick:function(){this.show = !this.show;}}
})
</script>
//前端全栈学习交流圈:866109386
//面向1-3经验年前端开发人员
//帮助突破技术瓶颈,提升思维能力

按照之前的写法方式,渐隐渐出的效果并没有出现该有的效果,那么为什么呢? 在if else两个元素切换的时候,会尽量的复用dom,正是vue,dom的复用,导致动画的效果不会出现,如果想要vue不去复用dom,之前也说过,怎么做呢,给两个div不同的key值就行了

<div v-if='show' key='hello'>hello world</div>
<div v-else key='bye'>bye world</div>

这样就可以有个明显的动画效果,多个元素过渡动画的效果。

transition还提供了一个mode属性,in-out是先显示再隐藏,out-in是先隐藏再显示

多个组件的过渡

<style>.v-enter, .v-leave-to {opacity: 0;}.v-enter-acitve, .v-leave-active {transition: opacity 1s;}
</style>
<div id='app'><transition mode='out-in'><child v-if='show'></child><child-one v-else></child-one></transition><button @click='handleClick'>切换</button>
</div><script>
Vue.component('child',{template:'<div>child</div>'
})
Vue.component('child-one',{template:'<div>child-one</div>'
})
var vm = new Vue({el:'#app',data:{show:true},methods:{handleClick:function(){this.show = !this.show;}}
})
</script>
//前端全栈学习交流圈:866109386
//面向1-3经验年前端开发人员
//帮助突破技术瓶颈,提升思维能力

这个就是多个组件的过渡,采用的是上面的方式,替换子组件,那么我们换一种方式,用动态组件

<style>.v-enter, .v-leave-to {opacity: 0;}.v-enter-acitve, .v-leave-active {transition: opacity 1s;}
</style>
<div id='app'><transition mode='out-in'><component :is='type'></component></transition><button @click='handleClick'>切换</button>
</div><script>
Vue.component('child',{template:'<div>child</div>'
})
Vue.component('child-one',{template:'<div>child-one</div>'
})
var vm = new Vue({el:'#app',data:{type:'child'},methods:{handleClick:function(){this.type = (this.type === 'child' ? 'child-one' : 'child')}}
})
</script>

这样也实现了多个组件的过渡效果。

转载于:https://my.oschina.net/u/3970421/blog/2962763

vue实现多个元素或多个组件之间动画效果相关推荐

  1. vue、bus 使用遇到的坑,组件之间无法传值;vue、bus 第一次获取不到值,后面再点击重复执行

    vue.bus 使用遇到的坑,组件之间无法传值:vue.bus 第一次获取不到值,后面数据叠加 问题定位: 出现无法传值的情况,检查传值过程中组件是否还没有渲染:可能出现的情况是:组件被if,在你使用 ...

  2. vue 点击div 获取位置_Vue中组件之间8种通信方式,值得收藏

    之前写了一篇关于vue面试总结的文章, 有不少网友提出组件之间通信方式还有很多, 这篇文章便是专门总结组件之间通信的 vue是数据驱动视图更新的框架, 所以对于vue来说组件间的数据通信非常重要,那么 ...

  3. Vue+wow.js+animate.css-实现页面滚动可视区域动画效果展示-案例

    说明 wowjs-当页面向下滚动时,动画出现:当页面向上回滚时,动画不会回退. 安装 npm install wowjs --save-dev npm install animate.css --sa ...

  4. moment转换时间戳_酷炫时间轮盘:JS元素圆形布局制作时间轮盘动画效果

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 前段时间看抖音,有人用时间轮盘作为动态的桌面壁纸,感觉很好玩,于是突发奇想,可以用JS来实现这个功能. 来来来,先看看成果 ...

  5. vue底部跳转_Vue实现回到顶部和底部动画效果

    本文实例为大家分享了Vue实现回到顶部和底部动画效果的具体代码,供大家参考,具体内容如下 代码: < > export default{ props:{ step:{ //此数据是控制动画 ...

  6. Vue CSS3或者npmjs网站中的animate.css实现动画效果

    cartoonvue.vue(CSS3)支持一个动画 <!--动画效果图 利用CSS3动画属性实现--><template><div><h2>动画效果 ...

  7. html中购物车小球飞入的效果,vue项目中css3实现加入购物车小球抛物线飞入动画效果...

    学习Vue中在做移动端商城练习项目时,记录css3实现加入购物车抛物线小球飞入动画效果.下面会介绍我在项目中实现抛物运动的简单方法. 知识点:css3动画(抛物线运动).vue动态绑定事件(控制小球出 ...

  8. vue如何使用原生js写动画效果_深入理解 Vuejs 动画效果

    本文主要归纳在 Vuejs 学习过程中对于 Vuejs 动画效果的各个相关要点.由于本人水平有限,如文中出现错误请多多包涵并指正,感谢.如果需要看更清晰的代码高亮,请跳转至我的个人站点的 Vue 中的 ...

  9. vue手势滚动_vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果

    https://github.com/383514580/any-touch 先看demo demo 说点湿的 iscroll其实代码量挺大的(近2100行, 还有另一个类似的库betterScrol ...

最新文章

  1. 4.6 W 字总结!Java 11—Java 17特性详解
  2. 动态资料导出导入平台(一)
  3. Mysql拐点_InnoDB select性能拐点测试
  4. 一条SQL语句执行得很慢的原因有哪些?
  5. 框架学习 Spring之依赖注入DI
  6. 会议交流 | DataFunCon 线上大会 - 知识图谱专题论坛
  7. 旷视科技IPO过会,AI技术“立业”难言轻松
  8. Android_Kotlin原生开发_声明变量与内置数据类型---Kotlin工作笔记002
  9. 一些有趣的 CSS 魔法和布局(下)(结尾有岗位内推哦~)
  10. 6. XML Schema
  11. 4月27 统计学——卡方检验和卡方分布
  12. 基于socketio 写一个聊天室
  13. 【文章汇总】J2ME程序开发全方位基础讲解
  14. Hexo 好看的主题推荐
  15. ensp提示抓包工具wireshark配置路径不正确
  16. matpolitlib 画图
  17. 读书笔记 : 人类简史
  18. java 设置纸张大小设置_Java读取打印机自定义纸张.
  19. mysql int 时间戳转换_MySQL时间戳相互转换
  20. KeyShot 实时光线追踪三维渲染软件

热门文章

  1. 吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(1)
  2. ORL Faces Database介绍
  3. OpenCV代码提取:遍历指定目录下指定文件的实现
  4. python ggplot为什么不能取代matplotlib_Matplotlib vs ggplot2
  5. java wait abc_java----wait/notify
  6. Java项目:课程资源管理+在线考试平台(java+SSH+mysql+maven+tomcat)
  7. JavaScript判断对象是否为空对象或空数组
  8. 编写spring应用
  9. 一阶微分算子锐化图像_【动手学计算机视觉】第三讲:图像预处理之图像分割...
  10. React useState,useEffect ,Hook是什么?什么是副作用?