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

成功案例 品牌网站企业所得税优惠政策最新2023上海

成功案例 品牌网站,企业所得税优惠政策最新2023上海,大一网页设计期末作业,网站图片大小优化在 Vue2 中,响应式系统是通过 Object.defineProperty 实现的,它可以劫持对象的属性 getter/setter,但有两个大问题: 不能监听数组的索引变动(arr[0] xxx 无法触发更新)。不能监听数组的 length 变化&#…

在 Vue2 中,响应式系统是通过 Object.defineProperty 实现的,它可以劫持对象的属性 getter/setter,但有两个大问题:

  1. 不能监听数组的索引变动arr[0] = xxx 无法触发更新)。
  2. 不能监听数组的 length 变化arr.length = 0 无法触发更新)。

🔑 Vue2 的解决办法

Vue2 在初始化时,会 重写数组的 7 个变更方法,让它们在调用时不仅修改数据,还能通知视图更新。

这 7 个方法是:

  • push
  • pop
  • shift
  • unshift
  • splice
  • sort
  • reverse

实现思路:

  1. 拿到数组原型上的方法(Array.prototype.push 等)。

  2. 新建一个对象,继承 Array.prototype

  3. 在这个对象上重写上面 7 个方法:

    • 调用原始方法完成数据修改;
    • 手动触发 dep.notify(),告诉依赖进行视图更新。

源码简化版(伪代码)

const arrayProto = Array.prototype;
const arrayMethods = Object.create(arrayProto);['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'].forEach(method => {arrayMethods[method] = function (...args) {// 先调用原始方法const result = arrayProto[method].apply(this, args);// 通知依赖更新this.__ob__.dep.notify();return result;}});

当 Vue2 检测到一个属性是数组时,就会把它的原型指向 arrayMethods,从而拦截这几个操作。


🔒 局限性

  • 直接修改数组索引:vm.arr[1] = 100 不会触发更新
  • 修改 lengthvm.arr.length = 0 不会触发更新

解决办法:

  • 使用 Vue.set(vm.arr, index, value)this.$set(vm.arr, index, value)
  • 使用 splice 替代:vm.arr.splice(index, 1, value)

🆕 Vue3 的变化

Vue3 用 Proxy 重写了响应式系统,能直接监听数组的索引和 length 变化,不需要像 Vue2 那样 hack。


👉 总结:

Vue2 通过重写数组的 7 个变更方法来解决数组监听问题,但索引和 length 的变动仍然无法直接监听,只能用 Vue.setsplice 替代。Vue3 使用 Proxy 完美解决了这个限制。

http://www.dtcms.com/a/514361.html

相关文章:

  • 上饶招聘网站建设公司开发公司送物业费的协议
  • 凯里网站开发gzklyy怎么判断一个网站做的好
  • 北京建设部官方网站证书查询个人住房公积金贷款
  • 安徽建设工程协会网站购物网站建设需要公司营业执照吗
  • 如何用云服务器做网站网站备案审核需要多久
  • 局机关网站建设网站清理通知
  • 专业网站建设集团wordpress search页面
  • 手表网站哪个最好知乎襄阳文明建设投诉网站
  • 黄岩网站建设兼职什么是网页设计师
  • 微芒科技网站建设top情感营销经典案例
  • 检测网站是否安全waP六感程序建设网站
  • 企业门户网站建设与发展趋势小程序推广公司
  • 成都网站建设公司盈利吗网站系统建设合同范本
  • 网站建设项目设计的图片哪些网站结构是不合理的
  • 百度收录的网站多久更新一次郑州企业网站快速优化多少钱
  • 新网站外链怎么做龙岩长汀
  • 山东高端网站建设方案成熟网站开发单位
  • 关键词搜索排名优化长沙优化网站技巧
  • 商城网站建设价格嵌入式软件开发和软件开发的区别
  • 做网站一年大概的盈利京东网站是谁做的
  • 合肥网站设计品牌免费云服务器主机
  • 网站开发培训培训班雅虎搜索引擎
  • 怎么做卖卷网站flash属于网页制作平台吗
  • 上饶做网站多少钱seo外链在线工具
  • 深圳网站建设网站顺德网页定制
  • 保定网站建设的过程河北商城网站搭建多少钱
  • 自学网站开发如何使用服务器ip做网站
  • 广州住房保障城市建设局网站微信企业号网站开发软件
  • 网站建设 在线购买承接app网站开发的广告
  • .net电商网站开发设计国外出名设计网站有哪些