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 相关文章推荐
js滚动条回到顶部的代码
Dec 06 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
JS实现点击链接取消跳转效果的方法
Jan 24 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
Jan 22 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
浅谈angularJS的$watch失效问题的解决方案
Aug 11 Javascript
Webpack path与publicPath的区别详解
May 03 Javascript
vue-quill-editor富文本编辑器简单使用方法
Sep 21 Javascript
vue实现双向绑定和依赖收集遇到的坑
Nov 29 Javascript
Angular6 用户自定义标签开发的实现方法
Jan 08 Javascript
JS学习笔记之原型链和利用原型实现继承详解
May 29 Javascript
JS原型对象操作实例分析
Jun 06 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一些服务器端特性的配置加强php的安全
2006/10/09 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
js打造数组转json函数
2015/01/14 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
JS回调函数深入理解
2019/10/16 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
python实现图片横向和纵向拼接
2020/03/05 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
轻松制作精彩视频:Animoto
2018/09/19 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
同学会邀请书大全
2014/01/12 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
企业宣传策划方案
2014/05/29 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
投诉书格式范本
2015/07/02 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫