美文网首页前端开发那些事儿
vue中computer和watch的区别

vue中computer和watch的区别

作者: 程序小小黑 | 来源:发表于2020-11-10 15:21 被阅读0次

    computed用于处理复杂的逻辑运算,主要和methods储存方法来进行区分;methods储存方法,computed储存需要处理的数据值;methods每次都会调用,computed有缓存机制,只有改变时才执行,性能更佳。

    watch顾名思义,用于监听数据变化,其中可以监听的数据来源有三部分:props、data、computed内的数据;watch提供两个参数(newValue,oldValue),第一个参数是新值,第二个参数保存旧值;

    computed和watch的区别

    computed是计算属性

    1.支持缓存,只有依赖数据发生改变,才会重新进行计算

    2.不支持异步,当computed内有异步操作时无效,无法监听数据的变化

    3.computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过的数据通过计算得到的

    4.如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed

    5.如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。

    watch是侦听属性

    1.不支持缓存,数据变,直接会触发相应的操作;

    2.watch支持异步;

    3.监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;

    4.当一个属性发生变化时,需要执行对应的操作;一对多;

    相关文章

      网友评论

        本文标题:vue中computer和watch的区别

        本文链接:https://www.haomeiwen.com/subject/cwdjbktx.html