vue3 computed用法
时间: 2023-11-01 07:00:53 浏览: 84
vue计算属性computed的使用方法示例
computed属性是Vue.js的一个特性,也被称作计算属性。它允许你根据其他数据的变化来动态计算出一个新的值。computed属性具有缓存性,当依赖的值变化时,computed属性会重新计算,但是当无关值变化时,computed属性的值不会变化。
在Vue.js 3中,使用computed属性有两种形式:简写形式和完整形式。
简写形式的computed属性只能用于读取值,不能用于更新值。你可以在setup函数中使用reactive函数创建一个响应式的对象,并在computed函数中定义computed属性。以下是一个使用computed属性的简写形式的代码示例:
```javascript
import { computed, reactive } from 'vue'
export default {
setup() {
let per = reactive({
surname: '勇敢',
name: '小陈'
})
const fullName = computed(() => {
return per.surname + ' ' + per.name
})
return {
per,
fullName
}
}
}
```
完整形式的computed属性可以同时用于读取和更新值。你可以在computed函数中使用get和set方法分别定义computed属性的读取和更新逻辑。以下是一个使用computed属性的完整形式的代码示例:
```javascript
import { computed, reactive } from 'vue'
export default {
setup() {
let per = reactive({
surname: '勇敢',
name: '小陈'
})
const fullName = computed({
get() {
return per.surname + ' ' + per.name
},
set(value) {
var arr = value.split(' ')
per.surname = arr[0]
per.name = arr[1]
}
})
return {
per,
fullName
}
}
}
```
以上示例中,我们分别定义了一个名为fullName的computed属性,它的值是根据per对象中的surname和name属性计算而来的。在简写形式中,只能读取fullName的值,而在完整形式中,我们可以通过set方法更新fullName的值。
阅读全文