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

【备战春招】第12天 6-20 什么是PatchFlag

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

课程章节:6-20 什么是PatchFlag

课程讲师: 双越

课程内容:

6-20 什么是PatchFlag

课程收获:

patchFlag 是在编译 template 模板时,给 vnode 添加的一个标识信息,这个标识信息反映了 vnode 的哪些部位绑定了动态值,这样在 runtime 阶段,可以根据 patchFlag 判断出哪些内容需要更新,实现靶向更新

export function h(type: any, propsOrChildren?: any, children?: any): VNode {
  if (arguments.length === 2) {
    if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
      // single vnode without props
      if (isVNode(propsOrChildren)) {
        return createVNode(type, null, [propsOrChildren]);
      }
      // props without children
      return createVNode(type, propsOrChildren);
    } else {
      // omit props
      return createVNode(type, null, propsOrChildren);
    }
  } else {
    if (isVNode(children)) {
      children = [children];
    }
    return createVNode(type, propsOrChildren, children);
  }
}

图片描述

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

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