vue如何进行动画的封装


Posted in Javascript onSeptember 26, 2018

本文实例为大家分享了vue动画封装的具体代码,供大家参考,具体内容如下

<style>
.v-enter,.v-leave-to{


opacity: 0;

}

.v-enter-active,.v-leave-active{


transition:opacity 1s;

}
</style>


<div id='app'>

<transition>


<div v-if='show'>hello 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>

有时候这种渐隐渐现的效果用的比较多,要复用,需要封装一下,怎么封装呢

<style>
.v-enter,.v-leave-to{


opacity: 0;

}

.v-enter-active,.v-leave-active{


transition:opacity 1s;

}
</style>


<div id='app'>

<fade :show='show'>


<div>hello world</div>

</fade>

<fade :show='show'>


<h1>hello world</h1>

</fade>

<button @click='handleClick'>切换</button>
</div>

<script>
Vue.component('fade',{

props:['show'],

template: `


<transition>



<slot v-if='show'></slot>


</transition>

`
})
var vm = new Vue({

el:'#app',

data:{


show:false

},

methods:{


handleClick:function(){



this.show = !this.show;


}

}
})
</script>

可以这样封装,将dom元素传入slot,除了这样,还可以样式一起封装进去

<div id='app'>
<fade :show='show'>


<div>hello world</div>

</fade>

<fade :show='show'>


<h1>hello world</h1>

</fade>

<button @click='handleClick'>切换</button>
</div>

<script>
Vue.component('fade',{

props:['show'],

template: `


<transition @before-enter='handleBeforeEnter' @enter='handleEnter'>



<slot v-if='show'></slot>


</transition>

`,

methods:{


handleBeforeEnter:function(el){



el.style.color='red'


},


handleEnter:function(el,done){



setTimeout(()=>{




el.style.color='green';




done();



},2000)


}

}
})
var vm = new Vue({

el:'#app',

data:{


show:false

},

methods:{


handleClick:function(){



this.show = !this.show;


}

}
})
</script>

把样式一起封装进来,是比较推荐的方式。

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

Javascript 相关文章推荐
Jquery 扩展方法
May 06 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
jQuery 获取浏览器所在的IP地址的小例子
Nov 08 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
JavaScript DOM节点添加示例
Jul 16 Javascript
JavaScript中document.forms[0]与getElementByName区别
Jan 21 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
jquery实现经典的淡入淡出选项卡效果代码
Sep 22 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
Oct 10 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
Sep 27 Javascript
使用vue实现多规格选择实例(SKU)
Aug 23 Javascript
vue使用rem实现 移动端屏幕适配
Sep 26 #Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 #Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
Sep 25 #Javascript
vue单页缓存方案分析及实现
Sep 25 #Javascript
Vue中对拿到的数据进行A-Z排序的实例
Sep 25 #Javascript
vue单页缓存存在的问题及解决方案(小结)
Sep 25 #Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
Sep 25 #Javascript
You might like
PHP学习之整理字符串
2011/04/17 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python使用正则筛选信用卡
2019/01/27 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
如何查找和删除数据库中的重复数据
2014/11/05 面试题
护理自荐信范文
2013/10/05 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
JavaScript的function函数详细介绍
2021/11/20 Javascript
Java死锁的排查
2022/05/11 Java/Android