侧边栏壁纸
  • 累计撰写 793 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

源码

Dettan
2022-01-09 / 0 评论 / 0 点赞 / 112 阅读 / 438 字
温馨提示:
本文最后更新于 2022-07-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
/ 前端 / Vue / 源码
vnode = new VNode(
                      config.parsePlatformTagName(tag), //返回相同的值 。当前tag的标签名称
                      data, //tag标签的属性数据
                      children, //子节点
                      undefined,  //文本
                      undefined, //*当前节点的dom */
                      context // vm vue实例化的对象
                  );


var VNode = function VNode(
                           tag, /*当前节点的标签名*/
                           data, /*当前节点对应的对象,包含了具体的一些数据信息,是一个VNodeData类型,可以参考VNodeData类型中的数据信息*/
                           children, //子节点
                           text, //文本
                           elm, /*当前节点的dom */
                           context, /*编译作用域*/
                           componentOptions, /*组件的option选项*/
                           asyncFactory/*异步工厂*/) {
    /*当前节点的标签名*/
    this.tag = tag;

    /*当前节点对应的对象,包含了具体的一些数据信息,是一个VNodeData类型,可以参考VNodeData类型中的数据信息*/
    this.data = data;

    /*当前节点的子节点,是一个数组*/
    this.children = children;

    /*当前节点的文本*/
    this.text = text;

    /*当前虚拟节点对应的真实dom节点*/
    this.elm = elm;

    /*当前节点的名字空间*/
    this.ns = undefined;

    /*编译作用域 vm*/
    this.context = context;

    this.fnContext = undefined;
    this.fnOptions = undefined;
    this.fnScopeId = undefined;

    /*节点的key属性,被当作节点的标志,用以优化*/
    this.key = data && data.key;

    /*组件的option选项*/
    this.componentOptions = componentOptions;

    /*当前节点对应的组件的实例*/
    this.componentInstance = undefined;

    /*当前节点的父节点*/
    this.parent = undefined;

    /*简而言之就是是否为原生HTML或只是普通文本,innerHTML的时候为true,textContent的时候为false*/
    this.raw = false;

    /*静态节点标志*/
    this.isStatic = false;

    /*是否作为跟节点插入*/
    this.isRootInsert = true;

    /*是否为注释节点*/
    this.isComment = false;

    /*是否为克隆节点*/
    this.isCloned = false;

    /*是否有v-once指令*/
    this.isOnce = false;

    /*异步工厂*/
    this.asyncFactory = asyncFactory;

    this.asyncMeta = undefined;
    this.isAsyncPlaceholder = false;
};
0

评论区