背景:
计算属性在依赖值不变的情况下,结果是会缓存数据的;methods中定义的方法调用则不会缓存。所以计算属性相对函数来说性能更好一些。
计算属性的传参方式:
1. 如果使用类似函数的调用传参方式,会报如下错误:
如下是错误操作:
data() {
return {
data: [{id: 1},{id: 2}]
}
}
computed: {
testComputed(val) {
return this.data[val]
}
}
created() {
this.testComputed(0)
}
2. 正确使用方式(写成闭包的形式):
data() {
return {
data: [{id: 1},{id: 2}]
}
}
computed: {
testComputed() {
return val => {
return this.data[val]
}
},
}
created() {
console.log(this.testComputed(0)) // { "id": 1 }
}