继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第13天 6-21 什么是HoistStatic和CacheHandler

浪里个浪小白龙
关注TA
已关注
手记 75
粉丝 3
获赞 4

课程章节:6-21 什么是HoistStatic和CacheHandler

课程讲师: 双越

课程内容:

6-21 什么是HoistStatic和CacheHandler

课程收获:

当使用hoistStatic时,所有 静态的节点都被提升到render方法之外。这意味着,他们只会在应用启动的时候被创建一次,而后随着每次的渲染被不停的复用。cacheHandler 事件监听缓存

//vue3中对PatchFlags的定义描述
export const enum PatchFlags {
  // 动态文本节点
  TEXT = 1,
  // 2 动态class
  CLASS = 1 << 1,
  // 4 动态style
  STYLE = 1 << 2,
  // 8 动态属性,但不好汉class style
  PROPS = 1 << 3,
  // 16 具有动态key属性,当key改变时,需要进行完整的diff
  FULL_PROPS = 1 << 4,
  // 32 带有监听事件的节点
  HYDRATE_EVENTS = 1 << 5,
  // 64 一个不会改变子节点顺序的fragment
  STABLE_FRAGMENT = 1 << 6,
  // 128 带有key的fragment
  KEYED_FRAGMENT = 1 << 7,
  // 256 没有key的fragment
  UNKEYED_FRAGMENT = 1 << 8,
  // 512 一个子节点只会进行非props比较
  NEED_PATCH = 1 << 9,
  // 1024 动态插槽
  DYNAMIC_SLOTS = 1 << 10,
  // 下面是特殊的,即在diff阶段会被跳过的
  // 2048 表示仅因为用户在模板的根级别放置注释而创建的片段,这是一个仅用于开发的标志,因为注释在生产中被剥离
  DEV_ROOT_FRAGMENT = 1 << 11,
  // 静态节点,它的内容永远不会改变,不需要进行diff
  HOISTED = -1,
  // 用来表示一个节点的diff应该结束
  BAIL = -2
}

图片描述

谢谢老师,讲的非常细致,很容易懂。这一节学的是什么是HoistStatic和CacheHandler,为以后的学习打下了基础。
原来vue3能有这么多种性质,以及对vue3有了新的认识,期待后边的学习

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP