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


Posted in Javascript onSeptember 25, 2018

本文实例为大家分享了vue实现多个元素或多个组件之间动画的具体代码,供大家参考,具体内容如下

多个元素的过渡

<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>

按照之前的写法方式,渐隐渐出的效果并没有出现该有的效果,那么为什么呢?

在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>

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

<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>

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 继承机制实例
Aug 12 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
JavaScript中eval函数的问题
Jan 31 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
微信小程序 radio单选框组件详解及实例代码
Jan 10 Javascript
hammer.js实现图片手势放大效果
Aug 29 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
微信小程序实现刷脸登录
May 25 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
Aug 08 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
Oct 12 Javascript
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
Sep 25 #Javascript
Vue页面跳转动画效果的实现方法
Sep 23 #Javascript
vue解决弹出蒙层滑动穿透问题的方法
Sep 22 #Javascript
vue如何解决循环引用组件报错的问题
Sep 22 #Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 #Javascript
angular的输入和输出的使用方法
Sep 22 #Javascript
vue构建动态表单的方法示例
Sep 22 #Javascript
You might like
php提示undefined index的几种解决方法
2012/05/21 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
JavaScript延迟加载
2021/03/09 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python爬虫实现百度图片自动下载
2018/02/04 Python
python绘制圆柱体的方法
2018/07/02 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
Python封装原理与实现方法详解
2018/08/28 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
Python中的asyncio代码详解
2019/06/10 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
求职自荐书范文
2013/12/04 职场文书
编辑求职信样本
2013/12/16 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
篮球赛口号
2014/06/18 职场文书
珍惜资源的建议书
2014/08/26 职场文书
八项规定对照检查材料
2014/08/31 职场文书
公民授权委托书范本
2014/09/17 职场文书
Java使用jmeter进行压力测试
2021/07/09 Java/Android
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers