主要用到的是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>
                
                
                
发表评论 取消回复