vue defineProperty 监听属性变化

原文链接: vue defineProperty 监听属性变化

上一篇: es6 代理 Proxy 增强对象功能

下一篇: vue 自定义插件

使用Object.defineProperty 监听属性变化

function conver(obj) {
    Object.keys(obj).forEach(key => {
        let val = obj[key]
        Object.defineProperty(obj, key, {
            get() {
                console.log('get ', val)
                return val
            },
            set(newVal) {
                console.log('set ', newVal)
                val = newVal
            }

        })
    })

}


let foo = {
    bar: 1
}

console.log(foo.bar)
foo.bar = 2
console.log(foo.bar)


conver(foo)
console.log(foo.bar)
foo.bar = 3
console.log(foo.bar)

1
2
get  2
2
set  3
get  3
3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值