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

河北省承德市建设局网站上不去有哪些做二手的网站

河北省承德市建设局网站上不去,有哪些做二手的网站,苏州出名的网站公司,欧米茄手表官方网什么是响应式 Js代码是自上而下执行的#xff0c;结合下面代码看#xff0c;代码执行后#xff0c;会打印两次double的结果#xff0c;结果也都是2#xff0c;即使修改了代码中count的值后#xff0c;double的值也不会发生任何改变。 let count 1 let double count * …什么是响应式 Js代码是自上而下执行的结合下面代码看代码执行后会打印两次double的结果结果也都是2即使修改了代码中count的值后double的值也不会发生任何改变。 let count 1 let double count * 2 console.log(double) count 2 console.log(double)double的值由count的值乘以2所得若想让double能够在count变化时也变化那就要在每次修改countd的值时重新计算double。如下面代码 let count 1 // 计算过程封装成函数 let getDouble nn*2 //箭头函数 let double getDouble(count) console.log(double)count 2 // 重新计算double这里我们不能自动执行对double的计算 double getDouble(count) console.log(double) 若可以将getDouble函数自动执行我们使用某种机制把count包裹一层每当count进行修改时就去同步更新double的值那就有了double自动跟着count变化而变化的感觉这就是响应式的雏形。 响应式的原理 Vue中用过defineProperty、Proxy和value setter三种响应式解决方案。 defineProperty API    结合例子来说明下面定义一个对象obj,使用defineProperty代理count属性。这样就对obj对象的value属性实现了拦截读取count属性时执行get函数修改count属性时执行set函数并在set函数内部重新计算了double。这样就实现了简易的响应式功能。 let getDouble nn*2 let obj {} let count 1 let double getDouble(count)Object.defineProperty(obj,count,{get(){return count},set(val){count valdouble getDouble(val)} }) console.log(double) // 22222 obj.count 2 console.log(double) // 4444 有种自动变化的感觉 defineProperty  API作为Vue2实现响应式的原理语法上也有一些缺陷比如如下代码中删除obj.count属性set函数就不会执行double还是之前的值这也是为什么Vue2中,需要$delete一个专门的函数去删除数据。 delete obj.count console.log(double) // doube还是4 Proxy Vue3的响应式机制就是基于Proxy实现的从Proxy这个名字也能看出是代理的意思Proxy的重要意义在于它解决了Vue2响应式的缺陷。看下面代码通过new Proxy代理obj这个对象,然后通过get、set和deteleProperty函数代理了对象的读取、修改和删除操作从而实现了响应式的功能。 let proxy new Proxy(obj,{get : function (target,prop) {return target[prop]},set : function (target,prop,value) {target[prop] value;if(propcount){double getDouble(value)}},deleteProperty(target,prop){delete target[prop]if(propcount){double NaN}} }) console.log(obj.count,double) proxy.count 2 console.log(obj.count,double) delete proxy.count // 删除属性后我们打印log时输出的结果就会是 undefined NaN console.log(obj.count,double) Proxy是针对对象来监听的而不是针对某个具体属性所以不仅可以代理那些定义时不存在的属性还可以代理更丰富的数据结构比如Map、Set等并且还能通过deleteProprety实现对删除操作的代理。 value setter Vue3中还有一种响应式实现的逻辑就是利用对象的get和set函数来进行监听这种响应式的实现方式只能拦截某一个属性的修改这也是Vue3中ref的实现在下面代码中拦截了count的value属性并且拦截了set操作也能实现了类似的功能。 let getDouble n n * 2 let _value 1 double getDouble(_value)let count {get value() {return _value},set value(val) {_value valdouble getDouble(_value)} } console.log(count.value,double) count.value 2 console.log(count.value,double) 三种实现原理的对比 实现原理definePropertyProxyvalue setter实际场景Vue2响应式Vue3  reactiveVue3 ref优势兼容性基于Proxy实现真正的拦截实现简单劣势数组和属性删除等拦截不了兼容不了IE11只拦截了value属性实际应用Vue2Vue3复杂数据结构Vue3简单数据结构
http://www.tj-hxxt.cn/news/141719.html

相关文章:

  • 4免费网站建站网站搭建好有什么内容可以修改
  • 连锁酒店设计网站建设国外网站做调查
  • 淘宝客网站推广工具欧米伽男士手表官方网站
  • 那个企业网站是用vue做的wordpress 子网站
  • 做响应式网站制作云南城市建设培训中心网站
  • 网站建设wap站中国文化网站建设策划书
  • 2网站制作网站建设朝阳
  • 用服务器建立网站信誉好的公司官网建设
  • 企业档案网站建设wordpress 基于 网店
  • 怎么修改php网站时事热点新闻
  • 用wordpress搭建的网站哈尔滨网络招聘
  • 2023网站推荐网站建设捌金手指花总五
  • 新闻资讯网站模板下载手游网站怎么做的
  • 通化好的网站建设的公司spring mvc 做网站
  • 建设银行河北省分行网站杭州协会网站建设方案
  • 昆明网站建设有限公司深圳工程项目
  • 做网站时为什么导航时两行字wordpress菜单对齐修改
  • 做淘口令的网站网络规划设计师待遇怎么样
  • 聊城网站制作价格seo搜索引擎优化知乎
  • 北京电商网站开发公司合肥企业建网站
  • 三墩网站建设株洲市区网站建设公司
  • 杭州网站推广网站建设预算计算方法
  • 1g内存的服务器可以建设几个网站域名邮箱企业邮箱
  • 上海网站建设推荐秒搜科技十大免费开发平台app
  • 化工企业常用推广网站界面设计是什么
  • 交友免费的网站建设网站搜索出来有图片
  • 如何用rp做网站步骤网站建设工作是干什么的
  • 网站开发试题库天安保险公司官网
  • 深圳+服装+网站建设排名优化专家
  • 用google翻译做多语言网站工程做网站