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 相关文章推荐
javascript中巧用“闭包”实现程序的暂停执行功能
Apr 04 Javascript
JQuery优缺点分析说明
Apr 10 Javascript
深入理解javascript变量声明
Nov 20 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 jQuery
微信小程序实现之手势锁功能实例代码
Jul 19 Javascript
vue中动态添加class类名的方法
Sep 05 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
Oct 26 Javascript
vue分页插件的使用方法
Dec 25 Javascript
Element Rate 评分的使用方法
Jul 27 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
提升PHP执行速度全攻略(上)
2006/10/09 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
javascript getElementsByClassName函数
2010/04/01 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
Python中的面向对象编程详解(下)
2015/04/13 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
解决python 上传图片限制格式问题
2019/10/30 Python
详解Python中的路径问题
2020/09/02 Python
超市促销活动方案
2014/03/05 职场文书
个人银行贷款担保书
2014/04/01 职场文书
优秀应届生求职信
2014/06/16 职场文书
求职自我评价范文100字
2014/09/23 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
Python作用域和名称空间的详细介绍
2022/04/13 Python
Go语言怎么使用变长参数函数
2022/07/15 Golang