2-14 vue中计算属性computer和普通属性method的区别是什么?


计算属性computer本质上是一个被getter、setter定义的了的属性。

计算属性使用起来和一般属性一样,只是在访问它的时候会得到getter函数返回来的值,改变它的时候,会触发setter函数,新的值会作为setter函数的值传递。

计算属性仅仅体现为一个取值的行为——每次访问它的时候,getter都会重新求值,在0.12.8版本中对此做了改进——计算属性的值会被缓存,只有在需要的时候才会重新计算。

我们可以将同一个函数定义为也给methods而不是一个计算属性,对于最终的结果,两种方式确实是相同的。

不同的是计算属性是基于他们的依赖进行缓存的

计算属性只有在他相关依赖发生改变时才会重新求职,这就意味着只要message还没有发生改变,多次访问reversedMessage计算属性会立即返回之前的结果,而不必再次执行函数。

只要发生重新渲染,methods调用总会执行该函数

相关