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 相关文章推荐
JavaScript 原型学习总结
Oct 29 Javascript
jQuery-serialize()输出序列化form表单值的方法
Dec 26 Javascript
JavaScript中的console.profile()函数详细介绍
Dec 29 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
Apr 19 Javascript
Vue2.0组件间数据传递示例
Mar 07 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
Oct 13 Javascript
jQuery替换节点元素的操作方法
Mar 18 jQuery
vue.js将时间戳转化为日期格式的实现代码
Jun 05 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 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
星际RPG字典
2020/03/04 星际争霸
用PHP 4.2书写安全的脚本
2006/10/09 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
php实现购物车功能(下)
2016/01/05 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
Python中bisect的用法
2014/09/23 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
Python logging设置和logger解析
2019/08/28 Python
python实现批量文件重命名
2019/10/31 Python
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
天猫精选:上天猫,就够了
2016/09/21 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
2014年社区国庆节活动方案
2014/09/16 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
Python基础详解之描述符
2021/04/28 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技