Skip to content

第6章 计算属性

6.1 计算属性的定义

表达式过于复杂,可以使用方法,或者计算属性。

计算属性默认只有getter,这样是不能直接修改计算属性的。如果要修改,需要自己写一个setter。

6.2 计算属性的缓存

复杂表达式,可以用计算属性实现,也可以通过方法实现,但两者不同。计算属性具有缓存的作用,依赖未改变时,取的都是缓存值。而方法每次都会重新执行。计算属性的缓存,可以减少计算次数,提高效率。但如果业务不希望缓存,那么可以使用方法来替代。

6.3 v-for和v-if一起使用的替代方案

vue.js作者不建议将v-for与v-if一起使用,因为即使由于v-if指令的使用只渲染了部分元素,但每次重新渲染还是会遍历整个列表,效率低。采用计算属性过滤后再遍历,会更好一些。

6.4 实例:购物车的实现

6.5 小结