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写的一个链表实现代码
Oct 25 Javascript
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 Javascript
jquery实现鼠标滑过小图查看大图的方法
Jul 20 Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 Javascript
javascript运算符——逻辑运算符全面解析
Jun 27 Javascript
js最简单的双向绑定实例讲解
Jan 02 Javascript
使用express搭建一个简单的查询服务器的方法
Feb 09 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
Jul 23 Javascript
javascript中call,apply,callee,caller用法实例分析
Jul 24 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
Sep 25 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
Sep 26 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 页面编码声明方法详解(header或meta)
2010/03/12 PHP
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
php实现对象克隆的方法
2015/06/20 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
window.location和document.location的区别分析
2008/12/23 Javascript
javascript prototype,executing,context,closure
2008/12/24 Javascript
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
python正则表达式re模块详解
2014/06/25 Python
Python的多态性实例分析
2015/07/07 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
消防应急演练方案
2014/02/12 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
护士个人总结范文
2015/02/13 职场文书
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android