对于computed VS watch的一点理解
来源:2-9 数据,方法,计算属性和侦听器(2)

Neolu4ever
2021-08-13
对于有依赖值的变量(如total就是依赖于 price 和 count的计算结果) ,使用computed始终优于watch。因为watch在变量层面一次只可以监听一个值,在代码量要比computed要多上一些。尤其是当有依赖变量的计算过程变得很复杂时,computed值得优先考虑。
请问老师这样的理解可以么?
写回答
2回答
-
程煦儿
2021-08-13
如果对多个属性进行监听时,computed确实比watch更简洁一些,必定它在一个方法体内就能完成多个属性的监听,而watch需要一个一个监听;
如果只对一个属性监听时,watch最终要修改或同步的数据必须是在data中声明的过的属性,而computed则不用提前声明,直接返回即可。至于dell老师说的watch中需要声明一个函数,其实在computed中也同样用了一个函数,在这点上我觉得并不能凸显computed的优越性;
watch其实还有更高级的api,如deep、immediate、handler等,这就决定了一些场景下watch其实比computed更适合;
最后,个人想表达的是,到底该用computed还是watch,这要完全取决于业务的场景,毕竟真实的应用中如老师举例子这么简单的还是很少的。
不对之处,还请指正~
112021-08-15 -
Dell
2021-08-15
可以这么理解
00
相似问题
关于$watch的疑问
回答 2
为什么使用watch监听没有反应
回答 2