1、概念
通过vm对象来代理data对象中属性的操作(读/写)
2、好处
更方便操作data中的数据
3、基本原理
通过Object.defineProperty()把data中的属性添加到vm中
为每一个添加到vm上的属性,都指定一个getter/setter
在gettter/setter内部去操作(读/写)data中对应的属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
let number = 29
let person = {
name: "wt",
sex: "男"
}
Object.defineProperty(person, "age", {
// get()为get:function()简写,执行persion.age 获取该值
get(){
return number
},
// set(value)函数为 set:function(value){}简写,设定值
set(value){
number = value
}
})
</script>
</body>
</html>