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 相关文章推荐
在textarea中显示html页面的javascript代码
Apr 20 Javascript
js 提交和设置表单的值
Dec 19 Javascript
比较搞笑的js陷阱题
Feb 07 Javascript
学习JavaScript设计模式(接口)
Nov 26 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
Jul 04 Javascript
vue router 配置路由的方法
Jul 26 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 Javascript
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
微信小程序的mpvue框架快速上手指南
May 15 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 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
用php获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
python运行时间的几种方法
2016/06/17 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
使用python去除图片白色像素的实例
2019/12/12 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
Pycharm安装并配置jupyter notebook的实现
2020/05/18 Python
python 元组的使用方法
2020/06/09 Python
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
庆祝国庆节演讲稿2014
2014/09/19 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
社会实践活动报告
2015/02/05 职场文书
python基础之爬虫入门
2021/05/10 Python