目录
vue3.0数据响应式的原理对象方式数组方式
vue3.0数据响应式的原理
原理:使用Proxy来实现响应式数据
需求:把obj中的属性转化为响应式属性
对象方式
let obj
= {
name
: "ppp",
age
: 20
}
let state
= new Proxy(obj
, {
get(obj
, key
) {
return obj
[key
]
},
set(obj
, key
, newValue
) {
console
.log(obj
, key
, newValue
);
obj
[key
] = newValue
}
})
state
.name
= "pink"
console
.log("state", state
, state
.name
);
数组方式
let arr
= [1, 3, 5]
let state
= new Proxy(arr
, {
get(obj
, key
) {
return obj
[key
]
},
set(obj
, key
, newValue
) {
console
.log(obj
, key
, newValue
);
obj
[key
] = newValue
return true;
}
})
state
.push(7)
console
.log("arr", state
);
转载请注明原文地址:https://blackberry.8miu.com/read-35477.html