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

安卓手机做服务器网站福建省建设干部培训中心网站首页

安卓手机做服务器网站,福建省建设干部培训中心网站首页,全国电子商务公共服务网,python 如何做网站前言 Vue是一个结构的框架,也就是 数据层、视图层、数据-视图层#xff1b;响应式的原理就是实现当数据更新时#xff0c;视图层也要相应的更新 响应式实现 基于发布订阅模式和数据劫持实现 1.发布订阅模式#xff1a;vue使用发布订阅模式来实现数据变动的通知和更新 2…前言 Vue是一个结构的框架,也就是 数据层、视图层、数据-视图层响应式的原理就是实现当数据更新时视图层也要相应的更新 响应式实现 基于发布订阅模式和数据劫持实现 1.发布订阅模式vue使用发布订阅模式来实现数据变动的通知和更新 2.数据劫持vue通过object.defineProperty对数据进行劫持 Vue2响应式原理 基于js的object.defineProperty() 方法该方法可将传入的属性全部转为getter/setter object.defineProperty() 实现数据拦截是再数据被访问和被修改的时候进行拦截 1.数据劫持vue2的data部分会被object.defineProperty()传入并转成getter/setter便于追踪属性的变化在属性被修改的时候执行相应的操作 2.依赖追踪vue中有一个依赖收集系统每一个响应式数据都会有一个依赖集合当访问到该数据的时候会把当前的watcher记录下来后续数据发生变化的时候依赖于这个数据的watcher会被通知去更新相应的视图 3.派发更新当响应式数据变化的时候vue会遍历依赖集合通知相应的watcher更新视图 Object.defineProperty 为什么vue3要使用proxy而不是继续使用Object.defineProperty 1.兼容性问题一些旧版本浏览器不兼容 2.只能监听对象属性只能劫持对象的属性访问和修改操作无法监听对象的新增属性和删除属性的操作所以如果一个对象要新增属性需要使用vue.set() 3.无法监听数组的变化对于数组的增加删除和重排不会触发数组的属性变化从而也不会被拦截再vue中响应式处理需要使用pushpop()等方法去实现 4.性能开销对于大规模的data数据每个被劫持的对象都要有对应的getter和setter进行拦截和更新可能会影响到整体性能 Vue3响应式原理 Vue2使用ES5的Object.defineProperty() API对数据进行劫持并结合发布订阅模式实现双向数据绑定。而Vue3则使用ES6的Proxy API对数据进行代理从而进行双向数据绑定。使用Proxy API可以省去for in、闭包等内容来提升效率同时可以监听整个对象而不仅仅是某个属性。另外Proxy API还可以检测到数组内部数据的变化。 Proxy 1.可定制行为通过定义拦截器函数可以对对象的各种操作进行定制使得 Proxy 对象能够实现非常灵活的代理行为。 2.透明性Proxy 对象与原对象具有相同的外观和行为因此在代码中可以完全替代原对象而不会影响到代码的其他部分。 3.非侵入性Proxy 对象与原对象之间的代理关系是动态的可以随时添加或移除代理行为而不会影响到原对象。 4.更好的性能与 Object.defineProperty() 相比Proxy 的性能通常更好特别是在处理大规模数据和数组变化 区别 1.灵活性Proxy 提供了更加灵活和强大的拦截能力可以拦截对象的更多操作包括属性的读取、赋值、删除、枚举等以及数组的操作如 push、pop、shift、unshift 等。而 Object.defineProperty() 只能劫持对象的属性访问和修改操作无法直接监听数组的变化等 2.兼容性Proxy 在 ES6 中被引入因此对于支持 ES6 的现代浏览器和环境来说兼容性较好。但是在一些旧版本的浏览器中如 IE11 及更早版本Proxy 并不被支持。而 Object.defineProperty() 在较早的 ES5 中就已经存在兼容性较好但也存在一些兼容性问题如无法监听数组变化和对新增属性的处理等 3.性能Proxy 相对于 Object.defineProperty() 在性能上可能会有所提升特别是在处理大规模数据和数组变化时。Proxy 的拦截器函数在实现上更为底层因此可能更加高效。而 Object.defineProperty() 的性能开销相对较大特别是在属性较多时可能会影响到整体性能 4.监听对象的方式Proxy是通过创建一个目标对象的代理对象来实现监听的可以直接监听整个对象包括对象的属性新增、删除和修改等操作。而Object.defineProperty()是针对对象的每个属性进行劫持无法直接监听对象的整体变化
http://www.tj-hxxt.cn/news/217030.html

相关文章:

  • 网站被k了网站发布平台
  • 如何制作公司内部网页南阳做网站优化
  • 在百度上建网站wordpress预览doc
  • 网站联系方式要素域名到期与网站打不开
  • 建设部网站1667号公告线上销售方案
  • 三亚网站设计公司网站域名一年大概多少
  • 做网站抬头欧美风格网站特点
  • 自助建站基础工作主要包括什么是关键词推广
  • 遂昌网站建设旅游手机网站模板
  • 网站建设详细方案如何建设免费网站
  • 桓台网站设计东平房产网
  • 网站上的动态背景怎么做的福建移动网站设计
  • 黄岩做网站的公司网站建设依循的原则
  • 进入网站自动全屏怎么做域名有免费的吗
  • 做母婴育儿类网站好做seo排名吗做网站的内容
  • 网站风格wordpress怎么新建栏目
  • 吉林手机版建站系统开发洛阳营销型网站
  • 网页设计与网站建设教材太原免费网站建设
  • 是不是做推广都得有网站手机免费h5制作软件
  • 做网站推广工作赚钱吗网络营销优化
  • 网站中文章内图片做超链接章丘市网站建设seo
  • 做公众号编辑用什么网站丹东建设工程信息网站
  • 俄罗斯免费网站推广在华图做网站编辑
  • 外包公司做网站的流程黑龙江做网站的
  • 做网站去哪个公司好少儿python基础教程
  • 高校支付网站建设费需要入无形资产网站开通微信支付接口开发
  • 网站解析加速中企动力这个公司怎么样
  • 网站换ip 有多大影响wordpress 3d标签
  • 查域名是否注册河南seo网站策划
  • 无极网站网站涉案多少人被抓太原响应式网站建设