- 当你把一个对象传入vue实例作为data选项,vue将遍历此对象,通过Object.defineProperty,让这个对象的属性,成为getter和setter,而object.defineProperty 是ES5中无法shim的一个特性,这也就是vue不支持IE8的原因
- 这些getter和setter对用户来说是不可见的,但是在内部它们让Vue能够追踪依赖,在property被访问和修改时通知变更
- 每一个组件实例都对应一个watch实例, 它会在组件渲染的过程中把接触过的数据 property 记录为依赖项,之后当依赖项的setter触发时,会通知watcher,从而使它关联的组件重新渲染。