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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
Mar 28 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
wap图片滚动特效无css3元素纯js脚本编写
Aug 22 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
Aug 05 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
Apr 20 Javascript
Less 安装及基本用法
May 05 Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 Javascript
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
JS监听组合按键思路及实现过程
Apr 17 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 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遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
PHP实现微信提现功能
2018/09/30 PHP
小试JQuery的AutoComplete插件
2011/05/04 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
js实现漂亮的星空背景
2019/11/01 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python中函数的用法实例教程
2014/09/08 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
Python虚拟环境项目实例
2017/11/20 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
python实现串口通信的示例代码
2020/02/10 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
python 制作简单的音乐播放器
2020/11/25 Python
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
运动会解说词100字
2014/01/31 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
公证书格式
2015/01/23 职场文书
催款律师函范文
2015/05/27 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android