关于computed的改变

来源:12-12 API(2)

_涅槃_

2020-07-06

老师我想请教一个问题,2.6之前vue的computed中计算的值只有计算结果发生改变才会重新渲染,2.6之后为啥要改成只要依赖的变量发生改变之后就会触发重新渲染。比如下面这种场景if(this.a > 0){return this.b + this.c},这种情况如果a发生改变但是只要满足a>0,返回的值实际上都是一样的,这种情况触发重新渲染是不是有点多余,尤大大这样改肯定有自己的考虑,我不太理解这样改的好处

写回答

1回答

ustbhuangyi

2020-07-06

其实只有 2.5.17-beta 这个版本才改成的多计算,少渲染,之前和之后的实现都是少计算,多渲染,只要依赖变量,无论计算属性最终计算的结果是否改变,都会触发渲染。而 2.5.17-beta 版本改动影响面太大,没有通过 regression test,最终还是放弃了。

0
1
_涅槃_
好的谢谢老师
2020-07-07
共1条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程