vue3学习笔记(vue3响应式原理)

vue3实现响应式原理

1.通过Proxy(代理):拦截对象中任意属性的变化,包括属性的读写、属性的添加、属性的删除等。
2.通过Reflect(反射): 对被代理对象(源对象)的属性进行操作
 let person = {
    
    
        name: '张三',
        age: 18
    }
    let p = new Proxy(person,{
    
    
        // 读取时候调用
        get(target,prop){
    
    
            return Reflect.get(target,prop)
        },
        // 增加或者修改时候调用
        set(target,prop,value) {
    
    
            // target[prop] = value
            Reflect.set(target,prop,value)
        },
        // 删除时调用
        deleteProperty(target, prop) {
    
    
            return  Reflect.deleteProperty(target,prop)
            // return delete target[prop]
        }
    })

猜你喜欢

转载自blog.csdn.net/qq_44540152/article/details/121533274