精读 Vue 官方文档系列 🎉
component
相当于一个组件的占位符。根据 is
Attribute 来动态渲染匹配到的组件。
transition
<transition>
组件可以为单个元素/组件应用过渡效果,它只会把过渡效果应用到其包裹内容上,而不会产生额外渲染的 DOM 元素。
transition-group
基于 FLIP
的简单动画队列来实现列表(多个元素,多个组件)的过渡。不同于 <transition>
组件,<transition-group>
会产生额外的包裹 DOM,默认是 span
,可以通过 tag
Attribute 进行自定义。
注意,每个
<transition-group>
的子节点必须有独立的 key,动画才能正常工作
keep-alive
<keep-alive>
组件可以保留组件状态或避免重新渲染。
使用 <keep-alive>
需要注意的是:
<keep-alive>
只能用在其一个直属的子组件被开关的情形,既同一时刻,只能有一个子元素被渲染。如果你在其中有v-for
则不会工作。- 函数式组件由于没有实例,所以无法被缓存。
<keep-alive>
只能开关显示 keep-alive 树内的元素,如果你在<keep-alive>
组件内部放入了多个元素,同时一刻只能显示一个,其它的会默认被keep-alive
隐藏。
<keep-alive>
组件在切换缓存的组件时,会触发组件内的 activated
与 deactivated
生命周期函数。
slot
定义一个插槽,用来接收和分发组件父作用域中传输的内容。
通过 name
可以定义具名插槽。
通过 v-slot:name=""
可以定义作用域插槽 scopedSlots
template
通常我们会用 <template>
组件来包裹我们的模板元素,从而对模板内容进行分组。
需要注意的是
<template>
不能作为根元素 (root element) 使用。