Vue3 计算属性 computed
·
Vue3 的计算属性(computed)并非只能在模板中使用,其返回值可以在组件逻辑、其他计算属性或外部函数中自由访问。以下是具体说明:
一、计算属性的本质与使用场景
-
本质
- computed 返回的是一个响应式的 ref 对象,可通过 .value 访问值。例如:
const fullName = computed(() => `${firstName.value} ${lastName.value}`); console.log(fullName.value); // 直接访问计算结果
- computed 返回的是一个响应式的 ref 对象,可通过 .value 访问值。例如:
-
适用场景
- 模板外的逻辑处理:在脚本部分监听计算属性的变化,或作为其他函数的参数。
- 依赖其他计算属性:多个计算属性之间可以互相依赖。
二、可写计算属性的场景
若需在非模板中修改计算属性的值,需通过 getter/setter 定义可写状态:
const count = ref(0);
const doubleCount = computed({
get() { return count.value * 2; },
set(newVal) { count.value = newVal / 2; }
});
// 在逻辑中修改
doubleCount.value = 6; // 触发 setter,count 更新为 3
总之,计算属性的设计初衷是封装响应式依赖关系,但其使用范围不仅限于模板。开发者可根据业务需求灵活选择访问方式。
更多推荐


所有评论(0)