computed基本用法:修改year,nextYear会跟着自动+1(不能直接修改nextYear的值)
<template>
<div>
<p><input type="text" v-model="year" /></p>
<p><input type="text" v-model="nextYear" /></p>
</div>
</template>
<script>
import { computed, ref } from "vue";
export default {
setup() {
const year = ref(2022);
const nextYear = computed(() => {
return +year.value + 1;
});
return {
year,
nextYear
}
}
}
</script>
当直接修改nextYear是会有警告
computed中get和set的用法:可直接修改nextYear的值
<template>
<div>
<p><input type="text" v-model="year" /></p>
<p><input type="text" v-model="nextYear" /></p>
</div>
</template>
<script>
import { computed, ref } from "vue";
export default {
setup() {
const year = ref(2022);
const nextYear = computed({
get() {
return +year.value + 1;
},
set(value) {
console.log(value);
return year.value = value - 1
}
})
return {
year,
nextYear
}
}
}
</script>