vue的数据模型:js对象(修改时更新视图层)工作原理总结如下:(图解)![图片说明][1]1.trackchangeasdataoptions,普通的JavaScript对象传入Vue实例,Vue会遍历这个对象的所有属性,使用Object.defineProperty将这些属性全部转换成getter/setter1)(用户不可见,但在内部它们允许Vue跟踪依赖关系,在2)(每个组件实例对应一个watcher实例,它会在组件渲染时将“touched”的数据属性记录为依赖关系。然后当依赖关系的setter被触发时,会通知watcher,以便其关联的组件将被重新渲染)2.检测变化Vue无法检测对象属性的添加或删除;注意:1)Vue在初始化实例时会对属性进行getter/setter转换,所以**属性必须存在于数据对象上,Vue才能将其转换成响应式**2)Vue不允许动态添加根级响应式属性**Vue.set(object,propertyName,value)**方法可以添加到embedded也可以使用**vm.$set**实例方法添加响应式属性设置对象,即也是全局Vue.set方法的别名3.声明响应式属性注意:Vue不允许动态添加根级响应式属性,必须**在初始化实例之前声明所有根级响应式属性**
