Vue.js数据驱动原理之响应式原理 官网
Vue.js数据驱动核心是响应式原理。它用Object.defineProperty()把对象属性转为getter/setter。当属性值变了,Vue能监测到并更新关联DOM。 var obj = {};Object.defineProperty(obj, 'message', { get: function() { console.log('读取属性'); return this._message; }, set: function(newValue) { console.log('属性值更新'); this._message = newValue; }});obj.message = 'hello'; // 输出: 属性值更新 console.log(obj.message); // 输出: 读取属性,hello 注意,Object.defineProperty()不能监测数组和对象属性的添加或删除。