在js对象传给data时,Vue将遍历这个对象中的属性,并用Object.defineProperty()将属性转化为getter,setter,在属性改变时通知变化。组件都有watcher实例对象,会在组件渲染时将属性记录为依赖,当依赖项的setter被调用,会通知watcher重新计算,使关联组件得以更新。
只有在data里的属性才是响应的。
向已有对象上添加新的属性,不会触发更新,所以用Object.assign({}, this.someObject, {a:1, b:2});
在js对象传给data时,Vue将遍历这个对象中的属性,并用Object.defineProperty()将属性转化为getter,setter,在属性改变时通知变化。组件都有watcher实例对象,会在组件渲染时将属性记录为依赖,当依赖项的setter被调用,会通知watcher重新计算,使关联组件得以更新。
只有在data里的属性才是响应的。
向已有对象上添加新的属性,不会触发更新,所以用Object.assign({}, this.someObject, {a:1, b:2});