由于vue2使用Object.defineProperty实现响应式,它无法监听对象属性的新增和删除,也无法监听数组。所以vue团队开发了一个$set和$delete的api为响应式对象添加/删除属性,同时确保了新属性也是响应式的并触发视图更新。
Object.defineProperty
使用this.obj.属性 = 'test'只会改变data值,但是不会触发页面更新,所以这种方法新增属性也就不是响应式
this.obj.属性 = 'test'