Vue-2.x中关于computed与watch的碎碎念

195 阅读1分钟

每天做个总结吧,坚持就是胜利!

    /**
        @date 2021-07-14
        @description Vue-2.x中关于computed与watch的碎碎念
    */

壹(序)

面试中经常被问到computedwatch的区别,其实我一直很疑惑,为什么要将这两者放在一起对比呢?

我浅薄的理解中,computed就是基于data中属性变化然后变化,就相当于一个变量,只是这个变量是基于其他的一些依赖进行改变的,而watch是一个监听器,监听数据变化,然后在数据改变后可以做一些操作

两者之间的联系就是都是基于Vue响应式监听到数据改变然后做一些事情,这是我的理解

至于什么情况下使用computed,什么情况下使用watch,我觉得这个问题很没有必要,很明显的一个点就是,我在想要基于data中的一些属性做依赖,组成一个新的属性时,会使用computed,而我在想要在一个数据变化后做一些处理,比如调一个函数,发一个请求时,使用watch;难道我会在computed里面去做监听到属性的改变,然后调一堆函数这样的事情吗?我肯定是在watch中处理啊

可能现在的疑惑在看过源码后能有一个深层次的理解吧,以后再来解惑。