主要用到的是Object.defineProperty方法(在一个对象上定义一个新属性,或者修改一个已经存在的属性)
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.10/dist/vue.js"></script>
<script>
//数据代理模版
let obj1 = {x:1};
let obj2 = {y:2};
Object.defineProperty(obj2,'x',{
//当读取obj2的x的值时,返回obj1的x的值
get(){
return obj1.x;
},
//当修改obj2的x的值时,obj1的x的值也重新赋值
set(value){
obj1.x = value;
}
})
</script>
发表评论 取消回复