vue前端面试题目|Computed 和 Watch

5. Computed 和 Watch 的区别

对于computed:

支持缓存,只有依赖的数据发生变化了,才会重新计算

不支持异步,当computed当中有异步操作的时候无法监听数据的变化

computed的支会默认走缓存,计算属性是基于他们的响应式以来进行缓存的,基于data生命果的或者父组件传递的过来的props当中的数据进行计算

如果一个属性是由其他属性计算而来的,这个属性依赖其他的属性,一般会使用computed

如果computed属性的属性值函数,那么默认使用

computed

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

对于watch不支持缓存,数据变化时候会触发响应的操作,支持异步监听

监听函数接受两个参数,第一个参数是最新的支,第二个参数是之前的变化的值

当一个属性发生变化时,就需要执行相应的操作

监听的数据必须是data当中的声明的或者父组件传递过来的props当中的数据,当发生变化的时候会触发其他操作,

函数两个

对于watch:

不支持缓存,数据变化的时候就会触发更新操作

支持异步监听

监听的函数结束两个参数,第一个参数是最新的支,第二个参数是变化之前的值

deep无法监听到数据和对象内部的变化,当想要执行异步或者昂贵的操作来响应不断地变化就需要watch

总结:

computed计算属性,以来其他属性值并且compured的支由缓存,只有他依赖的支发生改变的时候下一次获取computed的值才会重新计算,computed的值

watch侦听器,更多的是观察的作用,无缓存型,类似于某些数据的监听回调,每次监听导数据的变化都汇之星回调进行后续的操作

运用场景:

当需要进行数值计算,并且依赖于其他的数据的时候应该使用computed,因为可以利用 computed 的缓存特性,避免每次获取值时都要重新计算。

当需要在数据变化的时候执行异步或者开销较大的操作的时候应该使用watch,使用watch 选项允许执行异步操作 ( 访问一个 API ),限制执行该操作的频率,并在得到最终结果前,设置中间状态。这些都是计算属性无法做到的。

6. Computed 和 Methods 的区别

可以将同一个函数定义为一个method或者一个计算属性,对于最终的结果,两种方式都是相同的

method调用总会执行该函数

computed计算属性是基于他们的依赖进行缓存的,只有在他的相关依赖发生改变的时候才会重新计算求职

#23届找工作求助阵地##软件开发薪资爆料##通信硬件薪资爆料##我的实习求职记录##你们的毕业论文什么进度了#
全部评论

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务