添加__ob__属性,值为Observer
function def (obj, key, val, enumerable) {
//obj 为观察数据对象,eg :{a:1}
//key 为 __ob__
//val 为 Observer{
dep: Dep{id: 2subs: []},
value: {a: 1},
vmCount: 0,
}
Object.defineProperty(obj, key, {
value: val,
enumerable: !!enumerable,
writable: true,
configurable: true
});
}
/**
* Walk through all properties and convert them into
* getter/setters. This method should only be called when
* value type is Object.
*/
Observer.prototype.walk = function walk (obj) {
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i++) {
defineReactive$$1(obj, keys[i]);
}
};
//判断是不是obj
function isObject (obj) {
return obj !== null && typeof obj === 'object'
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。