data 的数据代理
一、Object.defineProperty()
控制对象的属性值
let num = 18;
let person = {name: 'mary',age: num;
};Object.defineProperty(person, 'age', {writable: true, // 控制属性是否可以修改. 默认值是 falseenumerable: true, // 控制属性是否可以枚举,默认值是 falseconfigurable: true // 控制属性是否可以被删除,默认值是 false// 当有人读取 person.age 时,get 函数(getter)就会被调用,且返回值就是 age 的值get() {console.log('有人读取了 age 属性');return num;},// 当有人修改 person.age 时,get 函数(setter)就会被调用,就会收到具体修改的值set(val) {console.log('有人修改了 age 属性');age = val;}
})
二、数据代理:
let obj1 = {x: 100};
let obj2 = {y : 200};Object.defineProperty(obj2, 'x', {get() {return obj1.x;},set(val) {obj1.x = val;}
})// 修改 obj2.x 的值,obj1.x 的值也会相应的更改
三、Vue 中的数据代理
<!--1. VueProject 中的数据代理:通过 vm 对象来代理 data 对象中的属性的操作(读/写)2. VueProject 中数据代理的好处:更加方便的操作 data 中的数据3. 基本原理:通过 Object.defineProperty() 把 data 对象中所有属性添加到 vm 上。为每一个添加到 vm 上的属性,都指定一个 getter / setter在 getter / setter 内部去操作(读 / 写)data 中对应的属性vm._data 里面用到数据劫持,为的是监听数据是否发生变化,以便响应式的更新到页面
-->
data 的数据代理相关推荐
- 从零学习Vue - 02模板语法、el与data两种写法、mvvm模型、数据代理
root容器里的代码被称为模板,有了模板会有特殊的模板语法.Vue模板中语法有两大类,一类是插值语法,另一类是指令语法. 插值语法 功能:用于解析标签体内容.写法:{{xxx}},xxx为js表达式, ...
- VUE的el和data的写法以及MVVM模型、VUE的数据代理
第一.VUE的el和data的两种写法: el的两种写法如下: 第一个形式如下: const v = new Vue({//第一种el的写法el:'#demo',data: {name: '三清祖师' ...
- Vue2(一):初识Vue、模板语法、数据绑定、el和data的两种写法、MVVM、数据代理、事件
Vue2学习笔记:第一章 一.初识Vue 1. Vue的特点 2. Vue实例中的el和data 3.总结 二.模板语法 1.插值语法 2.指令语法 三.数据绑定 1.单向数据绑定(v-bind) 2 ...
- get vue 和set 用法_深入剖析Vue源码 - 数据代理,关联子父组件
简单回顾一下这个系列的前两节,前两节花了大篇幅讲了vue在初始化时进行的选项合并.选项配置是vue实例化的第一步,针对不同类型的选项,vue提供的丰富选项配置策略以保证用户可以使用不同丰富的配置选项. ...
- Extjs 数据代理
Ext.data.proxy.Proxy 代理类的根类 客户端代理: 1.LocalStorageProxy:将数据存储在localStorage中,此种方式可以持久的将数据存储在客户端 要使用代理, ...
- 流媒体数据代理----Anychat
"用户流媒体数据代理功能",使用该功能可以实现指定用户将其它用户的流媒体数据(音频.视频)做为自己的数据,转发给请求指定用户相关数据的用户. 应用场景:将指定用户(P)设置为其它用 ...
- Vue数据代理与数据监测
一.数据代理 1.什么是数据代理? 数据代理:通过一个对象代理对另一个对象中属性的操作 2.Vue数据代理 通过vm对象来代理配置对象data中所有属性的操作. (如果想访问data里的数据,可以直接 ...
- 【Vue2.0】—数据代理(一)
[Vue2.0]-数据代理(一) Vue 的数据代理:通过VM对象来代理data对象中属性的操作(读/写) Vue 中数据代理的好处:更加方便的操作data中的数据 基本原理: 通过Object.de ...
- vue2知识点:数据代理
文章目录 一.何为数据代理 二.vue中的数据代理 三.回顾Object.defineProperty() 本人其他相关文章链接 一.何为数据代理 数据代理:通过一个对象代理对另一个对象中属性的操作( ...
最新文章
- 清华唐杰:GPT-3表示能力已经接近人类了
- php在线考试自动批卷_php网络在线考试组卷系统
- getElementsByclassName
- BLE 安全之虫洞攻击
- Nginx + 阿里云SSL + tomcat 实现https访问代理
- Spring基于 XML 的声明式事务控制(配置方式)
- linux查找大文件或目录
- redis java 视频教程_redis从入门到精通视频教程【50讲全】
- 鸟哥的Linux私房菜知识点总结(持续更新中)
- stm32学习----正电原子精英板控制电机正反转
- delphi 之 override overload
- Python-scrapy爬虫
- Linux时间同步(Fri Nov 16 12:12:13 Local time zone must be set--see zic manual page 2018)解决办法
- 快手-开眼快创 Flutter 实践
- java队列处理高并发_Java高并发--消息队列
- ThingsBoard GateWay网关安装
- RabbitMQ核心概念及基础API应用
- 【动态规划】—— 背包问题
- 相同和相等的区别。。。
- OTP动态令牌工作原理分析
热门文章
- mysql安装注意步骤,mysql安装步骤
- phpmyadmin管理mysql_用phpMyAdmin管理MySQL数据库_MySQL
- snmp 获得硬件信息_计算机网络基础课程—简单网络管理协议(SNMP)
- RabbitMQ交换器Exchange介绍与实践
- TortoiseGIT创建及合并分支
- zoj 1091 Knight Moves
- WordPress网站搬家教程(根目录程序+ MySQL数据库)
- python property作用_python中@property的作用和getter setter的解释
- ad文件服务器部署,AD 集成 – 配置 ADFS 登陆 - Seafile 服务器用户手册
- java appender_log4j的Appenders配置方法