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声明变量
Dec 21 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
js实现开启密码大写提示
Dec 21 Javascript
详解Angular 4.x Injector
May 04 Javascript
微信通过页面(H5)直接打开本地app的解决方法
Sep 09 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
微信小程序云开发如何使用npm安装依赖
May 18 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
Apr 14 Javascript
JS this关键字在ajax中使用出现问题解决方案
Jul 17 Javascript
如何区分vue中的v-show 与 v-if
Sep 08 Javascript
JS实现可以用键盘方向键控制的动画
Dec 11 Javascript
js中Object.create实例用法详解
Oct 05 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
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP环境搭建最新方法
2006/09/05 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
php生成gif动画的方法
2015/11/05 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
js new Date()实例测试
2019/10/31 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
宿舍打麻将检讨书
2014/01/24 职场文书
库房保管员岗位职责
2014/04/07 职场文书
课外活动总结范文
2014/07/09 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
中秋节感想
2015/08/10 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android