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

网友投稿 287 2023-04-17


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

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

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

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

前言

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

原理

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

对于这些在 enter/leave 过渡中切换的类名,v- 是这些类名的前缀。使用 可以重置前缀,比如 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['pHQVHxSnZSush'] = (target) => {

nextDirection('forward')

setTimhttp://eout(() => { router['_push'](target) })

}

// 重写路由返回方法,设置跳转类型后跳转到上一页

router.back = (target) => {

nextDirection('back')

if (target) {

setTimeout(() => { router['_push'](target) })

}

history.go(-1)

}

How to http://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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何理解Vue的作用域插槽的实现原理
下一篇:浅谈关于.vue文件中style的scoped属性
相关文章

 发表评论

暂时没有评论,来抢沙发吧~