随笔
1、watch和compute的区别
目前来看其区别在:
-
computed支持缓存,相依赖的数据发生改变才会重新计算;watch不支持缓存,只要监听的数据变化就会触发相应操作
-
computed不支持异步,当computed内有异步操作时是无法监听数据变化的;watch支持异步操作
-
computed为用户提供了getter&setter,watch为用户提供了cb。这是他们主要的区别。gettter&setter用来处理数据访问和设置时的钩子函数,cb为用户提供了数据变化时执行的函数,执行的过程中watch会自动传入一些有用的参数。
但是注意:watch和compute本质上没有什么不同,都是调用effect函数,传递scheduler实现的,只是传递的scheduler不同而已。