一、完整代码
<template>
<div class="about">
<h1>Computed的用法</h1>
<h3>姓:{{ person.firstName }}</h3>
<input type="text" v-model="person.firstName">
<h3>名:{{ person.lastName }}</h3>
<input type="text" v-model="person.lastName">
<div v-if="person.fullName">
<h3>全名:{{ person.fullName }}</h3>
<input type="text" v-model="person.fullName">
</div>
</div>
</template>
<script>
import { reactive, computed } from 'vue';
export default {
name:'aboutPage',
setup() {
let person = reactive({
firstName: '张',
lastName: '三'
})
person.fullName = computed({
get() {
return person.firstName + '-' + person.lastName
},
set(value) {
const nameArr = value.split('-')
person.firstName = nameArr[0]
person.lastName = nameArr[1]
}
})
return {
person
}
}
}
</script>
二、主要代码
get:访问了这个属性
set:修改这个属性时操作的业务逻辑
person.fullName = computed({
get() {
return person.firstName + '-' + person.lastName
},
set(value) {
const nameArr = value.split('-')
person.firstName = nameArr[0]
person.lastName = nameArr[1]
}
})
三、效果

![2023年中国水稻收割机产量、销量及市场规模分析[图]](https://img-blog.csdnimg.cn/img_convert/c96b2b29f57ec31935a1d87b4375b5de.png)















![2023年中国人力资源服务外包市场规模、机构数量及细分领域规模[图]](https://img-blog.csdnimg.cn/img_convert/1e2210c743d98cda8371a41b927e0d26.png)


