Vue3中计算属性和方法的区别

当计算属性和方法同时使用了引用变量且在界面中呈现时,

  • 引用变量发生变化,如果在界面中呈现,会自动更新界面内容
  • 引用变量发生变化,触发计算属性重新计算其值,计算属性值变化,因为是引用属性,也会触发界面更新,各执行一次
  • 引用变量发生变化,界面直接引用方法呈现计算的结果时,只会触发界面更新,重新执行方法获取结果

思考:如果计算方法的结果赋给一个引用属性,界面再呈现引用属性,是否与计算属性相同?

  • 计算方法不会因其所使用的引用属性值发生变而自动重计算,即便计算了,也无处存放结果
  • 如果计算属性和计算方法内都是一个累加操作,那么是否多次调用计算方法的结果各不同呢?

引用属性变化触发界面更新

  • 对于引用属性是读值,
  • 对于计算属性也是读值并不会调用计算过程,
  • 对于计算方法则是调用计算方法的过程

引用属性变化触发更新链可以是这样的

  • 先触发使用它的计算属性更新属性值
  • 再触发使用引用属性的界面更新,
  • 计算属性值更新也会触发使用它的界面更新,
  • 计算方法即便重计算,结果也无处存放,可能不会触发重计算
  • 但计算方法内部使用到的引用属性变化,会触发使用计算方法的界面更新,更新导致计算方法被执行计算获取结果

总结:

  • 计算属性是逐级触发并逐级递进更新,
  • 计算方法是逐级触发但无结果更新,直到对计算方法的调用处才调用返回结果更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值