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 select常用操作控制代码
Mar 16 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
Mar 26 Javascript
jquery仿搜索自动联想功能代码
May 23 Javascript
JavaScript设计模式之外观模式介绍
Dec 28 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
Aug 25 Javascript
Vue实现购物车功能
Apr 27 Javascript
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 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/11/16 PHP
一个比较简单的PHP 分页分组类
2009/12/10 PHP
php curl 上传文件代码实例
2015/04/27 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
jQuery语法总结和注意事项小结
2012/11/11 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
Python实现带百分比的进度条
2016/06/28 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python实现excel转sqlite的方法
2017/07/17 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python 修改本地网络配置的方法
2019/08/14 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
python变量的作用域是什么
2020/05/26 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
校运会广播稿100字
2014/01/27 职场文书
英语故事演讲稿
2014/04/29 职场文书
小组口号大全
2014/06/09 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
主婚人致辞精选
2015/07/28 职场文书
keepalived + nginx 实现高可用方案
2022/12/24 Servers