使用JavaScript的Object.observe()方法实现
Object.observe()方法是对对象进行监测的方法,当对象的某一个属性的值变化时,可以通过回调函数进行处理。
解法步骤:
let parentA = {
childObj: {
propA: 'valueA'
}
};
let parentB = {
childObj: {
propB: 'valueB'
}
};
Object.observe(parentA.childObj, function(changes) {
console.log(changes);
});
parentB.childObj.propC = 'valueC';
[{type: "update", object: {propA: "valueA", propB: "valueB", propC: "valueC"}, name: "propC"}]
即:新增了一个属性propC,并更新了childObj对象。
完整代码示例:
let parentA = {
childObj: {
propA: 'valueA'
}
};
let parentB = {
childObj: {
propB: 'valueB'
}
};
Object.observe(parentA.childObj, function(changes) {
console.log(changes);
});
parentB.childObj.propC = 'valueC';