模板内的表达式用于简单的计算,当其过长或者逻辑复杂时,会难以维护。 一般用计算属性。
<!--
计算属性
所有的计算属性都以函数的形式写在vue的实例内的computed选项内,
计算属性里可以完成各种复杂的逻辑,包括运算,函数调用的
只要将最终结果返回就可以了。
计算属性可以依赖其他计算属性
计算属性不仅可以依赖当前的vue实例,还可以依赖其他的实例的数据
计算属性也可以依赖多个Vue实例的数据,
只要其中任一一种数据变化,计算属性也会重新计算: 比如购物车计算物品总价
使用组件的时候,计算属性也使用props来传递;
计算属性的缓存:
计算属性是基于它的依赖缓存的,
一个计算属性所依赖的数据变化时,才会重新取值。
computed: {
now () {
return Date.now();
}
}
比如return Date.now() 不是响应式依赖,不会调用。
使用计算属性还是methods,取决于是否需要缓存,
当遍历大数组和做大量计算时,应当使用计算属性,除非不希望得到缓存
-->
// .js
computed: {
/**
* 每一个计算属性都包括getter和setter
* 默认是使用getter来读取
* 手动修改计算属性的值得时候就会触发setter。
*
*/
prices: {
get() {
},
// setter 写入时候触发
set() {}
},
aaa() {
return ++this.prices;
}
}