Vue Transition实现类原生组件跳转过渡动画的示例


Posted in Javascript onAugust 19, 2017

最近学习了Vue Transition的用法,感觉这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记

官方文档:https://cn.vuejs.org/v2/guide/transitions.html

演示地址:http://www.coderlife.com (请在移动端查看,PC端查看请打开移动端调试模式)

前言

看了挺多Vue的UI框架都不带过渡动画,今天心血来潮,就把自己平时用的动效抽离出来。可直接通过脚手架init模版配合其他UI框架使用,不需要另外进行配置。

原理

模版中使用了Vue提供的封装组件 transition,配合CSS类名在 enter/leave 的六种不同的状态过渡中切换。

Vue Transition实现类原生组件跳转过渡动画的示例

对于这些在 enter/leave 过渡中切换的类名,v- 是这些类名的前缀。使用 <transition name="my-transition"> 可以重置前缀,比如 v-enter 替换为 my-transition-enter

重写跳转函数

// 根据具体的跳转类型更改跳转属性值,执行不同的动画
const nextDirection = (direction) => {
 let el = document.getElementById('app')
 if (el) el.setAttribute('transition-direction', direction)
}

router['_push'] = router['push']

// 重写路由跳转方法,设置跳转类型后跳转
router.forward = router['push'] = (target) => {
 nextDirection('forward')
 setTimeout(() => { router['_push'](target) })
}

// 重写路由返回方法,设置跳转类型后跳转到上一页
router.back = (target) => {
 nextDirection('back')
 if (target) {
 setTimeout(() => { router['_push'](target) })
 }
 history.go(-1)
}

How to use

# init template
vue init CoderLQChou/v-transition-template my-transition-app

# cd project
cd my-transition-app

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

仓库地址:https://github.com/CoderLQChou/vue-transition-template

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
jquery 模式对话框终极版实现代码
Sep 28 Javascript
MooBox 基于Mootools的对话框插件
Jan 20 Javascript
解析Jquery的LigerUI如何实现文件上传
Jul 09 Javascript
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
如何获取网站icon有哪些可行的方法
Jun 05 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
Dec 12 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
老生常谈jquery id选择器和class选择器的区别
Feb 12 Javascript
vue项目中导入swiper插件的方法
Jan 30 Javascript
vue+高德地图实现地图搜索及点击定位操作
Sep 09 Javascript
JavaScript文件的同步和异步加载的实现代码
Aug 19 #Javascript
深入理解ES6学习笔记之块级作用域绑定
Aug 19 #Javascript
深入理解ES6的迭代器与生成器
Aug 19 #Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
Aug 19 #jQuery
Vue自定义事件(详解)
Aug 19 #Javascript
Vue内容分发slot(全面解析)
Aug 19 #Javascript
简单的网页广告特效实例
Aug 19 #Javascript
You might like
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
php程序内部post数据的方法
2015/03/31 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
iView框架问题整理小结
2018/10/16 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
2019/10/12 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
pycharm修改界面主题颜色的方法
2019/01/17 Python
Python使用进程Process模块管理资源
2020/03/05 Python
python属于解释语言吗
2020/06/11 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
技术总监个人的自我评价范文
2013/12/18 职场文书
艺术设计专业个人求职信
2014/04/10 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
《将心比心》教学反思
2016/02/23 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸