【vue】内置的组件
内置的组件
- component
- transition
- transition-group
- keep-alive
- slot
is
、 inline-template
可以根据数据动态渲染组件
详细见上一章节的is属性
2 transition 包裹一个元素或动态组件,实现
过渡
的效果普通元素示例
hello world
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
在改变v-if
的值的时候并没有 立即删除元素,这是因为当插入或删除包含在transition
组件中的元素,Vue将会做以下处理
- 判断元素是否应用了CSS过渡或动画,在恰当的时机添加/删除CSS类名
- 如果过渡组件提供了
钩子函数
,这些钩子函数将在恰当的时机被调用 - 如果没有上述的两个条件,DOM操作在下一帧
立即执行
name:自动生成CSS过渡类名
appear:是否在初始渲染时使用过渡
css:是否使用css过渡类
type:指定过渡事件的类型,侦听过渡何时结束,transition | animation
mode:控制离开/进入过渡的时间序列,out-in | in-out
duration:指定过渡的持续时间,number|{enter:number,leave:number}
仅使用js过渡的元素添加v-bind:css="false",跳过CSS的检测,避免过渡过程中CSS的影响2.2 过渡的类名
v
取决于transition的name
属性v-enter
:进入过渡的开始
状态在元素被 插入之前生效,在元素被 插入之后的下一帧移除
v-enter-active
:进入过渡生效
时的状态元素被 插入之前生效,在 过渡/动画完成之后移除。 可以定义过渡的过程时间,延迟和曲线函数
v-enter-to
:进入过渡的结束
状态元素被 插入之后下一帧生效(移除v-enter),在 过渡/动画完成后移除
v-leave
:离开过渡的开始
状态离开过渡被触发时立刻生效,下一帧移除
v-leave-active
:离开过渡的生效
时的状态离开过渡被触发时立刻生效,在过渡/动画完成之后移除。 可以定义离开过渡的过程时间,延迟和曲线函数
v-leave-to
:离开过渡的结束
状态离开过渡被触发之后下一帧生效(移除v-leave),在过渡/动画完成之后移除
文章图片
2.3 钩子函数
enter和leave中必须使用
done
进行回调
其他有关Vue过渡的介绍见官网过渡&动画
3 transition-group 多组件过渡
属性:
- tag:指定标签,默认为span
- move-class:覆盖移动过渡期间应用的CSS类
- 除了mode,其他与transition相同
详细介绍见官网动画&过渡
4 keep-alive 包裹动态组件,会缓存不活动的组件实例,不销毁
属性
- include:String|RegExp,缓存指定的组件
- exclude:String|RegExp,拒绝缓存指定的组件
- max:number,最多可以缓存多少组件实例
//子组件一
One
//子组件二
Two
//父组件
在不添加keep-alive时,切换组件时会直接
销毁
转出的组件
//父组件
//子组件一
One
//子组件二同上
使用keep-alive会多两个生命周期钩子5 slot 作为组件模板之中的内容分发
activated
:当切换 回组件时调用
deactivated
:当切换 出组件时调用
插槽
属性
- name:命名插槽
- 绑定值:作用域插槽
v-slot指令
插槽(默认,具名,作用域)
推荐阅读
- 宽容谁
- 我要做大厨
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘
- 学无止境,人生还很长