vue2知识点:Vue封装的过度与动画

简介: vue2知识点:Vue封装的过度与动画

image.png

@[toc]

3.25Vue封装的过度与动画

3.25.1知识点总结

image.png
image.png

3.25.2案例

image.png


注意点1:
最好有css动画基础,再练习这块,但我只是了解所以原封不动拷贝看效果就是,当了解即可。

【动画/过度】使用方式:


1)
定义【动画/过度】样式名称

2)
用标签包裹起来要实现动画的元素

> 使用动画方式:

java <transition name="hello" appear> <h1 v-show="isShow">你好啊!</h1> </transition> <style scoped> h1{ background-color: orange; } .hello-enter-active{ animation: atguigu 0.5s linear; } .hello-leave-active{ animation: atguigu 0.5s linear reverse; } @keyframes atguigu { from{ transform: translateX(-100%); } to{ transform: translateX(0px); } } </style>

> 使用过度方式:

java <style scoped> h1{ background-color: orange; } /* 进入的起点、离开的终点 */ .hello-enter,.hello-leave-to{ transform: translateX(-100%); } .hello-enter-active,.hello-leave-active{ transition: 0.5s linear; } /* 进入的终点、离开的起点 */ .hello-enter-to,.hello-leave{ transform: translateX(0); } </style>
注意点2:动画效果来和去只写一个就行,另一个效果直接反转动画就是

注意点3:vue要求你想让谁实现动画效果,你就用标签把它包裹起来

java <transition name="hello" appear> <h1 v-show="isShow">你好啊!</h1> </transition>
注意点4:这个和标签效果一样,最终页面都不会显示这个标签,它只作为包裹作用使用
image.png

注意点5:每个过度可以取名字,如果\定义了name属性值,那么class的样式名称前缀也得改名,不然无法自动识别,比如未定义name属性,那么类名叫.v-enter-active和.v-leave-active,如果定义了name属性name="hello",那么类名叫.hello-enter-active和.hello-leave-active,(即vue不跟动画进行对话,而是跟样式的名称进行对话。)

java <transition name="hello" appear> <h1 v-show="isShow">你好啊!</h1> </transition> <style scoped> h1{ background-color: orange; } .hello-enter-active{ animation: atguigu 0.5s linear; } .hello-leave-active{ animation: atguigu 0.5s linear reverse; } @keyframes atguigu { from{ transform: translateX(-100%); } to{ transform: translateX(0px); } } </style>
注意点6:

问题:想实现多个元素产生相同过度效果时,错误代码如下,运行发生了报错如图

<transition>
    <h1 v-show="!isShow" key="1">你好啊!</h1>
    <h1 v-show="isShow" key="2">尚硅谷!</h1>
</transition-group>

image.png

答案:报错说明\标签只能用于一个元素,如果想实现多个元素相同效果,请使用\标签。

问题:如果改成使用\标签后,运行还是报错了,感觉更严重了,下面两个过度一个都没显示,且还报错了。

答案:正确写法就是必须指定key值,这块在讲解v-for的时候着重强调要定义key的属性。
image.png

注意点7:Test3.vue使用第三方库animate.css,所以需要额外安装animate.css

使用步骤:

1)安装 npm install --save animate.css

2)引入 import 'animate.css'

3)使用3个标签即可实现【动画/过度】效果,发别是name、enter-active-class、leave-active-class,使用第三方库比较方便,就不用像Test1.vue和Test2.vue中定义一堆动画或过度\

目录
相关文章
|
6天前
|
SQL JavaScript 前端开发
Vue实现动态数据透视表(交叉表)
Vue实现动态数据透视表(交叉表)
75 13
|
16天前
|
JavaScript 前端开发 UED
vue2和vue3的响应式原理有何不同?
大家好,我是V哥。本文详细对比了Vue 2与Vue 3的响应式原理:Vue 2基于`Object.defineProperty()`,适合小型项目但存在性能瓶颈;Vue 3采用`Proxy`,大幅优化初始化、更新性能及内存占用,更高效稳定。此外,我建议前端开发者关注鸿蒙趋势,2025年将是国产化替代关键期,推荐《鸿蒙 HarmonyOS 开发之路》卷1助你入行。老项目用Vue 2?不妨升级到Vue 3,提升用户体验!关注V哥爱编程,全栈开发轻松上手。
|
19天前
|
数据采集 资源调度 JavaScript
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
本文介绍了使用 Vue Flow 绘制流程图的方法与技巧。Vue Flow 是一个灵活强大的工具,适合自定义复杂的流程图。文章从环境要求(Node.js v20+ 和 Vue 3.3+)、基础入门案例、自定义功能(节点与连线的定制、事件处理)到实际案例全面解析其用法。重点强调了 Vue Flow 的高度灵活性,虽然预定义内容较少,但提供了丰富的 API 支持深度定制。同时,文中还分享了关于句柄(handles)的使用方法,以及如何解决官网复杂案例无法运行的问题。最后通过对比 mermaid,总结 Vue Flow 更适合需要高度自定义和复杂需求的场景,并附带多个相关技术博客链接供进一步学习。
|
19天前
|
JavaScript 前端开发 API
管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
一篇文章同时搞定Vue2和Vue3的侦听器,是不是很棒?不要忘了Vue3中多了一个可选项watchEffect噢。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
19天前
|
存储 数据采集 供应链
属性描述符初探——Vue实现数据劫持的基础
属性描述符还有很多内容可以挖掘,比如defineProperty与Proxy的区别,比如vue2与vue3实现数据劫持的方式有什么不同,实现效果有哪些差异等,这篇博文只是入门,以后有时间再深挖。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 索引 前端开发
vue知识点列表
vue基础 Vue 特点 Vue 实例 插值表达式 {{}} 指令: v-bind, v-if, v-for, v-model, v-on 使用组件构建应用 Vue 实力属性和方法 实例生命周期 模板语法与绑定 过滤器 Filter 计算属性 com...
1090 0
|
4月前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
187 1
|
29天前
|
JavaScript 前端开发 算法
vue渲染页面的原理
vue渲染页面的原理
106 56
|
2月前
|
移动开发 JavaScript API
Vue Router 核心原理
Vue Router 是 Vue.js 的官方路由管理器,用于实现单页面应用(SPA)的路由功能。其核心原理包括路由配置、监听浏览器事件和组件渲染等。通过定义路径与组件的映射关系,Vue Router 将用户访问的路径与对应的组件关联,支持哈希和历史模式监听 URL 变化,确保页面导航时正确渲染组件。
|
2月前
|
监控 JavaScript 前端开发
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
131 12
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等