摘要: Vue 的 _update 是实例的一个私有方法,它被调用的时机有 2 个,一个是首次渲染,一个是数据更新的时候;由于我们这一章节只分析首次渲染部分,数据更新部分会在之后分析响应式原理的时候涉及。_update 方法的作用是把 VNode 渲染成真实的 DOM,它的定义在 src/core/inst 阅读全文
posted @ 2019-08-14 14:42 七度丢失的梦 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Vue.js 利用 createElement 方法创建 VNode,它定义在 src/core/vdom/create-elemenet.js 中: // wrapper function for providing a more flexible interface // without get 阅读全文
posted @ 2019-08-14 14:39 七度丢失的梦 阅读(420) 评论(0) 推荐(0) 编辑
摘要: Virtual DOM 这个概念相信大部分人都不会陌生,它产生的前提是浏览器中的 DOM 是很“昂贵"的,为了更直观的感受,我们可以简单的把一个简单的 div 元素的属性都打印出来,如图所示: 可以看到,真正的 DOM 元素是非常庞大的,因为浏览器的标准就把 DOM 设计的非常复杂。当我们频繁的去做 阅读全文
posted @ 2019-08-14 14:37 七度丢失的梦 阅读(260) 评论(0) 推荐(0) 编辑
摘要: Vue 的 _render 方法是实例的一个私有方法,它用来把实例渲染成一个虚拟 Node。它的定义在 src/core/instance/render.js 文件中: Vue.prototype._render = function (): VNode { const vm: Component 阅读全文
posted @ 2019-08-14 14:35 七度丢失的梦 阅读(438) 评论(0) 推荐(0) 编辑
摘要: Vue 中我们是通过 $mount 实例方法去挂载 vm 的,$mount 方法在多个文件中都有定义,如 src/platform/web/entry-runtime-with-compiler.js、src/platform/web/runtime/index.js、src/platform/we 阅读全文
posted @ 2019-08-14 14:30 七度丢失的梦 阅读(1385) 评论(0) 推荐(0) 编辑