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 相关文章推荐
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
jquery中 $.expr使用实例介绍
Jun 09 Javascript
node.js中的fs.exists方法使用说明
Dec 17 Javascript
jQuery基础语法实例入门
Dec 23 Javascript
jQuery实现下拉框选择图片功能实例
Aug 08 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
Nov 16 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
Jan 14 Javascript
Google 地图获取API Key详细教程
Aug 06 Javascript
VUE多层路由嵌套实现代码
May 15 Javascript
JS温故而知新之变量提升和时间死区
Jan 27 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
Oct 02 Javascript
JavaScript中reduce()的用法
May 11 Javascript
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 MemCached 高级缓存应用代码
2010/08/05 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
jquery实现穿梭框功能
2021/01/19 jQuery
python处理数据,存进hive表的方法
2018/07/04 Python
QML实现钟表效果
2020/06/02 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
英国绿色商店:Natural Collection
2019/05/03 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
护理学毕业生自荐信
2013/10/02 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
新教师2015年度工作总结
2015/07/22 职场文书