鱼少学习多摸

day56- 数据代理

数据代理

通过一个对象代理对另一个对象中属性的读或写操作

object方法

复制代码
 <body><script type="text/javascript">
         let number =18
         let person ={
             name:'gugu',
             sex:'man',
         }
 ​
         Object.defineProperty(person,'age',{
         //     value:18,
         // //    不能枚举,不能遍历
         //     enumerable:true,
         // //    控制属性是否可以枚举,默认为false
         //     writable:true,
         // //    控制属性是否可以修改,默认为false
         //     configurable:true
         // //    控制属性是否可以删除,默认为false
 ​
 ​
         //    当有人读取person的age属性时,get函数被调用,返回值是age的值
             get:function () {
                 return number
             },
         //    当有人修改person的age属性时,set函数被调用,返回值是age的值
             set(value){
                 console.log('change :', value )
                 number = value
             }
         })
         console.log(person)
 ​
     </script>
 </body>
复制代码

 

vue中的数据代理

复制代码
 <!--
     1.vue中的数据代理:
         通过vm对象来代理data对象中的属性的操作(读或写)
     2.vue中数据代理的好处
         更加方便的操作vue中data中的数据
     3.基本原理
         通过Object.defineProperty()把data中对象所有的属性添加到vm上
         为每一个添加到vm上的属性,都指定一个getter和setter
         在getter和setter中去操作data中对应的属性
 -->
复制代码

 

 
复制代码
<body>
 <div id="root"><h2>名字:{{name}}</h2>
     <h2>地址;{{address}}</h2></div></body>
 <script>
     const vm = new Vue({
         el:'#root',
         data:{
             name:'gugu',
             address:'henan'
         }
     })
 ​
 </script>
复制代码

 

over

posted @   北海之上  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示