过渡组件

原理

1 .当插入或删除包含在transiotn组件中的元素时,vue会做以下处理
2 .自动嗅探目标元素是否应用了css过渡或者动画,如果是,在恰当的时候添加/删除css类名
3 .如果过渡钩子组件提供了js钩子函数,这些钩子函数将在恰当的时候被调用
4 .如果没有找到js钩子或者css过渡动画,dom操作将在下一帧中立即执行。
5 .自定义过渡的类名在过渡的时候的选择优先级优于自定义name里面的动画,
利用这个特性可以选择第三方的动画库,在没有选到更高级的类名的时候,这时还是会选择本来的元素
6 .通过使用transition组件,以及他组件中的各个方法,我们可以很容易的抓住元素在变化的时候的各个状态的周期函数,以及这个元素。那就是以后所有的动画都要包在transition里面的意思。也可以直接使用ref来操作。
7 .现在就有了两种操作动画的方式,一种就是直接使用css来实现,一种是使用js钩子函数来实现。前者比较适合一些淡入,淡出,比较简单的动画,后者适合一些比较复杂的,精细度更高的场景,而且css类名的样式规则会比动画设置的优先级更加的高。
8 .其中css中有两种实现效果,一种是自己写的样式,一种是使用外部的库,他们的优先级是后者优先于前者。
9 .过渡动画库 Velocity.js
10 .以上的都是单元素切换

多元素切换

1 .当有相同标签名的元素切换的时候,需要通过key来设置唯一的标记来让Vue区分它们,否则Vue为了效率只会替换相同标签内部的内容。相对的,及时在技术上没有必要,给transition组件中的多个元素设置key也是一个更好的实践。
2 .官网上给的是按钮的value值变化

多个组件的切换

1 .动态切换
2 .看样子slot插槽是不支持多个组件的过渡。<component v-bind:is="view"></component> 这个东西是不能识别的
3 .只能直接在transition里面加上这个东西

列表的过渡

1 .新的技术会激发你的想象,所以一定要用户活跃的技术
2 .使用v-for渲染整个列表
3 .v-for需要渲染的东西放在slot插槽里面,他的父元素是在tarnsition-group组件的tag属性修改,例如,如果需要渲染一个ul>li的结构,tag为ul,v-for写在li里面
4 .v-mode属性:会在元素改变定位的过程中应用,现在发现是添加的时候会监测到变化,但是减少的时候确看不到,是不是减少的时候检测不到位置变化。也可能是别的样式干扰了,这个还要仔细看一下
5 .注意:需要使用v-mode监测的元素是不嫩个设置为display:inline,替代方案可以设置为display:inline-block或者flex.

状态过渡:数字,运算,颜色,svg节点位置,元素大小和其他的属性

1 .颜色的话可以直接使用上面的内容,一个css动画就可以实现。但是更细粒度的,在js勾函数里面进行变化不知道可不可以实现
2 .结合这个内容和上面的内容,就可以实现任何的动画了。
3 .

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 10,455评论 0 29
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,038评论 3 119
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 13,787评论 4 129
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,646评论 0 6
  • 昨天睡太晚,今早就爆困(废话)补觉也补到了超过9点。上午基本就看看MCS划划水过去了。 中午直接睡午觉到1点30,...
    真昼之月阅读 864评论 0 0