Vue.js 中的 computed 属性用于计算和返回基于其他响应式数据的衍生数据,在需要派生数据、优化性能和确保响应性时非常有用。它通过编写 getter 函数来定义计算逻辑,可选地还可以编写 setter 函数来更新衍生数据。示例中,fullName computed 属性计算 firstName 和 lastName 的完整姓名,仅在这些值发生变化时才更新,以优化渲染性能并提供方便的数据访问。

Vue Computed 的用法
Vue.js 中的 computed 属性是用来计算和返回基于其他响应式数据的衍生数据的属性。它们在以下情况下非常有用:
- 当你需要获取依赖于其他响应式数据的衍生数据时。
- 当你希望优化性能并减少不必要的渲染时。
语法
使用 computed 属性的语法如下:
立即学习“前端免费学习笔记(深入)”;
computed: {
derivedProperty: {
// getter function
get() { ... },
// setter function (optional)
set(newValue) { ... }
}
}用法
要使用 computed 属性,请执行以下步骤:
- 定义 getter 函数:getter 函数返回衍生数据的计算结果。
- 可选:定义 setter 函数:setter 函数用于更新衍生数据。
示例
考虑以下示例:
const app = new Vue({
data() {
return {
firstName: 'John',
lastName: 'Doe'
};
},
computed: {
fullName: {
// getter function
get() {
return `${this.firstName} ${this.lastName}`;
}
}
}
});在这个示例中,fullName computed 属性计算了 firstName 和 lastName 响应式数据属性的完整姓名。它提供了对派生数据的方便访问,并且只有当 firstName 或 lastName 发生变化时才会更新。
优势
使用 computed 属性有以下优势:
- 性能优化:computed 属性只会在依赖的响应式数据发生变化时才重新计算,从而优化了渲染性能。
- 数据派生:它们允许轻松派生数据,而无需在模板中使用重复或复杂的计算。
- 响应性:computed 属性对数据变化是响应式的,这确保了派生数据始终是最新的。










