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

中文外贸网站建设南阳seo

中文外贸网站建设,南阳seo,肇庆广宁住房和城乡建设部网站,烟台高新区建设局网站1.vue2响应原理 1.1对于对象与数组 对象类型: 通过 object.defineProperty() 对属性的读取、修改进行拦截 (数据劫持) 数组类型:通过重写更新数组的一系列方法来实现拦截。 (对数组的变更方法进行了包裹) Vue2的响应式是基于Object.defineProperty实现的 1.2 基本原理Objec…

1.vue2响应原理

1.1对于对象与数组

对象类型: 通过 object.defineProperty() 对属性的读取、修改进行拦截 (数据劫持)

数组类型:通过重写更新数组的一系列方法来实现拦截。 (对数组的变更方法进行了包裹)

 Vue2的响应式是基于Object.defineProperty实现的

1.2 基本原理Object.defineProperty

        把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。

// 响应式函数
function reactive(obj, key, value) {Object.defineProperty(data, key, {get() {console.log(`访问了${key}属性`)return value},set(val) {console.log(`将${key}由->${value}->设置成->${val}`)if (value !== val) {value = val}}})
}
const data = {name: '林三心',age: 22
}
Object.keys(data).forEach(key => reactive(data, key, data[key]))
console.log(data.name)
// 访问了name属性
// 林三心
data.name = 'sunshine_lin' // 将name由->林三心->设置成->sunshine_lin
console.log(data.name)
// 访问了name属性
// sunshine_lin
// 接着上面代码data.hobby = '打篮球'
console.log(data.hobby) // 打篮球
data.hobby = '打游戏'
console.log(data.hobby) // 打游戏

        data新增了hobby属性,进行访问和设值,但是都不会触发get和set,所以弊端就是:Object.defineProperty只对初始对象里的属性有监听作用,而对新增的属性无效。这也是为什么Vue2中对象新增属性的修改需要使用Vue.$set来设值的原因。 

1.3 存在问题

新增,删除属性,页面未更新。

直接通过下标修改数组,页面未自动更新。

确保数据响应式如下

vue2-this.$set($delete,$get)确保数据响应性的实例方法-CSDN博客文章浏览阅读484次,点赞21次,收藏17次。this.$set确保数据响应性的实例方法 https://blog.csdn.net/2301_76671906/article/details/145710361?fromshare=blogdetail&sharetype=blogdetail&sharerId=145710361&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link

2.vue3响应原理

Vue3的响应式是基于ES6的Proxy来实现

对应学习来自于此处,学习记录

https://segmentfault.com/a/1190000041207010https://segmentfault.com/a/1190000041207010

vue3-07模拟vue3的响应式原理Proxy (代理对象)与Reflect (反射对象)-CSDN博客模拟vue3的响应式原理Proxy (代理对象)与Reflect (反射对象) https://blog.csdn.net/2301_76671906/article/details/145890823?fromshare=blogdetail&sharetype=blogdetail&sharerId=145890823&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link 

http://www.dtcms.com/wzjs/505651.html

相关文章:

  • 网站内容好营销型网站建设案例
  • 专门做蛋糕面包的网站广州权威发布
  • 公司网站别人做的怎么签合同成都百度推广排名优化
  • 建个网站要花多少钱企业网站的网络营销功能
  • 网站建设改版如何提升网站搜索排名
  • 黄骅港房价多少钱一平宁波seo推广联系方法
  • 网站图片最大尺寸上海seo优化服务公司
  • 淘宝网站做淘宝客滨州网站建设
  • wordpress 后台显示id上海官网seo
  • 网站制作加教程视频有什么平台可以推广
  • 12.12做网站的标题策划方案怎么做
  • 网站服务器搬迁江小白网络营销案例
  • 银行系统网站模板新网
  • 做网站傻瓜百度广告代理公司
  • 天津小型企业网站设计方案太原网站关键词推广
  • 安装php网站营销策划书范文案例
  • 如何在凡科上做网站关键词搜索爱站网
  • 哪个不是网站开发工具提交百度一下
  • html网页设计代码购物网站爱网站
  • 做游戏都需要什么网站吗seo怎么优化关键词排名培训
  • 网站前端怎么做方法北京seo排名服务
  • wordpress的xmlrpc相城seo网站优化软件
  • 四川成都私人网站建设电脑培训班零基础网课
  • 自己做网站排版营销助手
  • 晋城城乡建设局网站seo查询爱站网
  • 网站源码怎么写百度收录查询工具官网
  • 北京大兴最专业的网站建设公司热点事件营销案例
  • 商丘网络电视台广州seo公司排行
  • 天津做胎儿鉴定网站百度风云榜小说排行榜
  • 东莞网站建设0086曲靖seo