声明式地描述UI

  1. 支持html模板以及javascript对象来描述HTML,html模板更直观,JavaScript对象更灵活

初始渲染器

  1. 渲染器的作用就是将对真实节点的描述,也就是虚拟DOM解析渲染到DOM树
  2. 入参为vDom, 挂载节点
  3. 总体分三步
    1. 创建元素
    2. 为元素添加属性与事件
    3. 处理子节点
  4. 最为关键的点在于更新节点的时候如何找出最小更新单位进行更新

组件的本质

  1. 组件就是一 组 DOM 元素的封装
  2. Vue.js 中的有状态组件就是使用对象结构来表达

模板的工作原理

  1. 是由编译器将模板内容编译成渲染函数

    <template>
     <div @click="handler">
     click me
     </div>
    </template>
    

    编译后

    h('div', { onClick: handler }, 'click me')
    

Vue.js是各个模块组成的有机整体

  1. 组件实现依赖渲染器,模板编译依赖编译器
  2. 编译器在编译的时候识别出那些是静态属性,哪些是动态属性