vue之watch和计算属性computed

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue之watch和计算属性computed相关的知识,希望对你有一定的参考价值。

参考技术A

区别一: watch监听的是一个变量 (或者一个常量) 的变化,这个变量可能是一个单一的变化也可能是一个数组。computed可以监听很多个变量,但是这个变量一定是vue实例里面的。

watch和computed均可以监控程序员想要监控的对象,当这些对象发生改变之后,可以触发回调函数做一些逻辑处理。

一、计算属性computed的特点

二、watch监控自身属性变化

一、watch监控路由对象

watch 监听某个数据的变化(监听完调用什么函数) 一个数据影响多个数据 (比如:浏览器自适应、监控路由对象、监控自身属性变化)
computed 计算后返回新 一个数据受多个数据影响(比如:计算总价格、过滤某些数据)
computed是用来处理你使用watch和methods的时候无法处理(比如有缓存的时候监听不了数据变化),或者是处理起来并不太恰当的情况的,利用computed处理methods存在的重复计算情况

Vue中watch和computed的区别和应用场景

watch中的函数是不需要调用的,computed内部的函数调用的时候不需要加()。Watch是属性监听,监听属性的变化;computed是计算属性,通过属性计算而得来的属性。watch需要在数据变化时执行异步或开销较大的操作时使用。computed 属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用。

watch需要在数据变化时执行异步或开销较大的操作时使用

对于任何复杂逻辑或一个数据属性在它所依赖的属性发生变化时,也要发生变化,这种情况下,我们最好使用计算属性computed。

Computed:属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用;computed中的函数必须用return返回最终的结果。当computed中的函数所依赖的属性如果没有发生改变的时候,那么调用当前函数的时候结果会从缓存中读取。

Watch:一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作。

Computed:当一个属性受多个属性影响的时候就需要用到computed。最典型的例子:购物车商品结算的时候。

Watch:当一条数据影响多条数据的时候就需要用watch搜索数据。

以上是关于vue之watch和计算属性computed的主要内容,如果未能解决你的问题,请参考以下文章

Vue computed和watch

vue计算属性与watch监听

vue计算属性computed和监视器watch的使用

Vue中computed和watch的区别

Vue computed和watch的区别

Vue computed和watch的区别