计算属性的概念
计算属性是包含getter和setter的方法。当获取计算属性时,实质上是在调用计算属性的getter方法。vue会收集计算属性的依赖,并缓存计算属性的返回结果。只有当依赖变化后才会重新计算。
计算属性的写法
computed: {
totalScore:{
get(){
return this.score1 + this.score2
},
set(value){
this.score1 = value / 2
}
}
}
大部分情况都使用简写
computed: {
totalScore() {
return this.score1 + this.score2
}
}
计算属性和方法的区别
方法没有缓存,每次调用方法都会导致重新执行。计算属性和getter和setter参数固定,getter没有参数,setter只有一个参数。而方法的参数没有限制。因此,计算属性通常是根据已有数据得到其他数据,并在得到数据的过程中不建议使用异步、当前时间、随机数等操作,因为它只运行一次。
它们最重要的区别是含义上的区别。计算属性含义上也是一个数据,可以读取也可以赋值,方法含以上是一个操作,用于处理一些事情。