记录一次修改Vue源码

本文介绍了一种修改Vue源码的方法,使得修改数组下标也能触发Vue的更新机制,以提高代码可读性和维护性。虽然这种方法可能导致性能下降,适合小型项目或个人测试,但作者建议在公司项目中出于性能考虑,仍应使用$set。
摘要由CSDN通过智能技术生成

我们都知道在vue中直接修改数组下标来修改数据,是不能触发vue的更新机制的,但是当你发现随着项目代码越来越多,你的$set会越来越多,这样会让你的代码可读性、维护性越来越差

本次博主就来为大家分享一下,修改vue源码,让vue支持修改下标触发更新

function observe (value, asRootData) {
   
  if (!isObject(value) || value instanceof VNode) {
   
     return
   }
   var ob;
   if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
   
     ob = value.__ob__;
   } else if (
     shouldObserve &&
     !isServerRendering() &&
     (Array.isArray(value) || isPlainObject(value)) &&
     Object.isExtensible(value) &&
     !value._isVue
   ) {
   
     ob = new Observer(value); // 看这里,那么Observer又是什么呢?
   }
   if (asRootData && ob
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值