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 js cookie的存储,获取和删除
Dec 29 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
js 中的switch表达式使用示例
Jun 03 Javascript
JS实现遮罩层效果的简单实例
Nov 12 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
JavaScript中调用函数的4种方式代码实例
Jul 08 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
AngularJS中的拦截器实例详解
Apr 07 Javascript
浅谈JavaScript find 方法不支持IE的问题
Sep 28 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
React如何实现浏览器打印部分内容详析
May 19 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
JavaScript单线程和任务队列原理解析
2020/02/04 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
一百多行python代码实现抢票助手
2018/09/25 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
波兰珠宝品牌:YES
2019/08/09 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
高校教师思想汇报
2014/01/11 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
撤诉书怎么写
2015/05/19 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书