数据响应原理

Object.definejProperty有以下缺点、
1.无法监听es6的Set、Map变化
2.无法监听Class类型的数据;
3.属性的新家或删除也无法监听
4.数组元素的增加和删除也无法监听

针对Object.defineProperty的缺点,
ES6的Proxy都能够完美得解决,就是对IE不友好,所以vue3在检测到如果是使用IE的情况下(没错,支持Proxy),会自动降级为Object.defineProperty的数据监听系统

var obox = document.getElementById("box")
var obj = {}
// obj.name ="kerwin"
Object.defineProperty(obj,"myname",{
    get(){
        console.log("被访问")
    },
    set(data){
        console.log("被修改",data)
        obox.innerHTML = data
    }
})

你可能感兴趣的:(数据响应原理)