提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在开发中,我们想要给一个组件的显示和消失添加某种过渡动画,可以很好的增加用户体验:
提示:以下是本篇文章正文内容,下面案例可供参考
一、认识动画
-
React框架本身并没有提供任何动画相关的API,所以在React中使用过渡动画我们需要使用一个第三方库react-transition-group;
-
Vue中为我们提供一些内置组件和对应的API来完成动画,利用它们我们可以方便的实现过渡动画效果;
一个小案例:
-
Hello World的显示和隐藏;
-
通过下面的代码实现,是不会有任何动画效果的;
没有动画的情况下,整个内容的显示和隐藏会非常的生硬:
如果我们希望给单元素或者组件实现过渡动画,可以使用 transition 内置组件来完成动画;
二、Vue的transition动画
1.使用transition动画
Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡:
2.Transition组件的原理
我们会发现,Vue自动给h2元素添加了动画,这是什么原因呢?
当插入或删除包含在 transition 组件中的元素时,Vue 将会做以下处理:
- 自动嗅探目标元素是否应用了CSS过渡或者动画,如果有,那么在恰当的时机添加/删除 CSS类名;
- 如果 transition 组件提供了JavaScript钩子函数,这些钩子函数将在恰当的时机被调用;
- 如果没有找到JavaScript钩子并且也没有检测到CSS过渡/动画,DOM插入、删除操作将会立即执行;
3.过渡动画class
class的name命名规则如下:
- 如果我们使用的是一个没有name的transition,那么所有的class是以 v- 作为默认前缀;
- 如果我们添加了一个name属性,比如 transtion name=“coder”,那么所有的class会以 coder- 开头;