当前位置: 首页 > news >正文

望城建设局网站全网整合营销公司

望城建设局网站,全网整合营销公司,做网站推广价格,外贸网站建设公司流程Vue框架一个比较核心的功能就是我们的数据是响应式的,这样我们在修改数据的时候,页面会自动帮我们更新,那么想要实现这个功能就要实现对一个数据的劫持,即在取值和设置值的同时我们能够检测到即数据劫持。vue2响应式的实现原理所依…

     Vue框架一个比较核心的功能就是我们的数据是响应式的,这样我们在修改数据的时候,页面会自动帮我们更新,那么想要实现这个功能就要实现对一个数据的劫持,即在取值和设置值的同时我们能够检测到即数据劫持。vue2响应式的实现原理所依赖的就是Object.defineProperty()这个API,而vue3用的则是proxy今天我就来分享一下这两个api。

一、什么是Object.defineProperty()

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象

二、基本用法

Object.defineProperty(obj, prop, descriptor)
obj表示想要代理的对象
prop表示想要代理对象中的key
descriptor表示代理该对象的一些方法配置
我们在访问一个对象的某个值或者修改一个对象的某个值的时候会触发里边的getter和setter方法

let obj1 = {x: 100}let obj2 = {y: 200}Object.defineProperty(obj2, 'x', {get() {console.log('我读取了');return obj1.x},set(value) {console.log('我设置了');obj1.x = value}})console.log(obj2.x);obj2.x=111

执行结果:
在这里插入图片描述

三、配置对象的一些常见用法

configurable:false不能删除属性:

 let Person = {name:'张三'};Object.defineProperty(Person, "name", {configurable: false,});console.log(delete Person.name);

当 writable 属性设置为 false 时,该属性被称为“不可写的”。它不能被重新赋值

Invalid property descriptor. Cannot both specify accessors and a value or writable attribute, #<Object>at Function.defineProperty (<anonymous>)

enumerable设置为false定义了对象的属性是否可以在for…of以及for…in语句中枚举
configurable 特性表示对象的属性是否可以被删除,以及除 value 和 writable 特性外的其他特性是否可以被修改。

四、proxy基本用法

let person = {name: '张三',age: 18}
const p = new Proxy(person, {// 第一个参数是代理的对象,第二个参数是读取的属性名// 有人读取p的某个属性时调用get(target, propName) {console.log('有人读取了属性', target, propName);return Reflect.get(target[propName])},// 有人修改p的某个属性时或给p追加某个属性时调用set(target, propName, value) {console.log(`有人修改或新增${propName}属性,我要去修改页面了`);Reflect.set(target, propName, value)},// 有人删除p的某个属性是调用deleteProperty(target, propName) {console.log(`有人删除了属性${propName},我要去修改页面了`);return Reflect.deleteProperty(target, propName)// return delete target[propName]}})

这周也比较匆忙,原本想总结vue2响应式原理和vue3响应式原理的一些比较,但是现在自己了解的还不是很清楚,就先总结一下响应式原理背后所依赖的一些东西吧,等到之后了解清楚了再来分享。

http://www.yidumall.com/news/107845.html

相关文章:

  • 苏州做网站推广的公司哪家好东莞百度推广优化排名
  • 网站编辑知识网络营销有哪些推广方式
  • python做网站的优势东莞seo网站推广建设
  • 建筑公司网站能显示二级建造师报名吗天津优化加盟
  • 怎么做导购网站营销策划案ppt优秀案例
  • 网站开发的需求文档对网站进行seo优化
  • 建设银行打印回单网站网站怎么优化到首页
  • 南宁市网站维护与推广公司百度收录排名
  • 怎么做网站地图第三方营销平台有哪些
  • 青岛网站建设哪家专业关键词整站排名优化
  • 彩票网站什么做域名服务器查询
  • seo网站营销推广公司哪有培训seo
  • 服装网站建设需求分析新手seo要学多久
  • 手机怎么做bt种子下载网站网站优化搜索排名
  • 网站的会员系统怎么做神马网站快速排名软件
  • 广州新闻热点事件seo的优化策略有哪些
  • 大型网站建设规范深圳网络营销策划公司
  • 做赌博网站推广赚佣金百度销售是做什么
  • 用友财务软件营销推广seo
  • 深圳市福田区seo网站推广是什么
  • 做网站 带宽 多少企业培训课程名称
  • 阿里云域名出售seo收费
  • 在线设计平台行业概况威海百度seo
  • 石家庄网站建设案例百度卖货平台
  • 网站制作昆山深圳网站设计实力乐云seo
  • 网站建设工作分解seo排名需要多少钱
  • 利用模板做网站官网seo怎么做
  • 上海建设单位工程备案网站yandex引擎搜索入口
  • 政府网站建设发展规划杭州网站制作排名
  • 客户买东西返利网站怎么做济南百度快照推广公司