Vue2.x 的基本原理

33 阅读1分钟

介绍基本原理之前,先看看一下代码

new Vue({
  el:'#app',
  render: h => h(App),
})

new Vue也就是创建一个Vue实例,随之Vue会遍历data中属性,使用Object.defineProperty递归的给每个属性都添加getter/setter,并且在内部追踪相关的依赖,每个组件实例都有自己对应的watcher实例,它会在组件渲染的过程中把属性记录为依赖,当属性被访问,对应的setter会被调用,并通知watcher重新计算,从而使得组件得以更新,