<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script>
let person = {
name: "张三",
age: 15
}
//vue2响应式原理
let p = {}
Object.defineProperty(p,"name",{
configurable:true,
get(){
console.log("getter")
return person.name
},
set(val){
console.log("setter")
person.name=val
}
})
Object.defineProperty(p,"age",{
configurable:true,
get(){
console.log("getter")
return person.age
},
set(val){
console.log("setter")
person.age=val
}
})
//vue3响应式原理
let proxy = new Proxy(person,{
get(target,propName){
console.log("getter")
//return target[propName]
return Reflect.get(target,propName)
},
set(target,propName,val){
console.log("setter")
return Reflect.set(target,propName,val)
},
deleteProperty(target,propName){
console.log("deleteProperty")
//return delete target[propName]
return Reflect.deleteProperty(target,propName)
}
})
</script>
</body>
</html>
Vue响应式原理
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
vue深入响应式原理
vue深入响应式原理深入响应式原理 — Vue.jshttps://cn.vuejs.org/v2/guide/reactivity.html
vue reactivity 响应式原理 数据绑定 非侵入性 -
vue 数据响应式原理
通过监听数据的变化,实现响应式。1. vue2 通过Object.defineProp
数据 数组 递归 自定义 返回结果 -
vue数据驱动原理(响应式原理)
当你把一个普通的 JavaScript 对
vue 前端 响应式 set方法 数据 -
Vue源码:数据响应式原理
Vue源码:数据响应式原理
数组 数据 递归 -
vue2.0响应式原理
vue2.0响应式
响应式 vue javascript -
Vue3 响应式原理
对象只能劫持 设置好的数据,新增的数据需要Vue.Set(xxx) 数组只能操作七
vue.js 前端 javascript html 响应式