附录:PatchFlags
export const enum PatchFlags {Ⅰ
TEXT = 1,1/动态文本节点
CLASS = 1<<1,1/ 2// 动态 classSTYLE= 1<<2,// 4//动态 style
PROPS = 1<< 3,// 8// 动态属性,但不包含类名和样式
FULL_PROPS = 1<<4,// 16 //具有动态 key属性,当key改变时,需要进行完整的 diff 比较。
HYDRATE_EVENTS = 1<<5,// 32//带有监听事件的节点
STABLE_FRAGMENT = 1<<6,// 64//一个不会改变子节点顺序的 fragment
KEYED_FRAGMENT = 1<<7,// 128//带有key属性的 fragment 或部分子字节有
keyUNKEYED_FRAGMENT = 1<<8,// 256//子节点没有key 的 fragment
NEED_ PATCH =1<<9,//512//一个节点只会进行非 props比较
DYNAMIC_SLOTS = 1 << 10,//1024 // 动态的插槽
// SPECIAL FLAGS (下面是特殊的)---------------------------------------------------------
// 以下是特殊的flag,不会在优化中被用到,是内置的特殊flag
// 表示他是静态节点,他的内容永远不会改变,对于hydrate的过程中,不会需要再对其子节点进行diff
HOISTED = -1,
BAIL = -2, // 用来表示一个节点的diff应该结束
}
Vue3.0 patchFlags 详解
最新推荐文章于 2024-04-14 21:39:10 发布