Назад к вопросам
Middle
95
questionbank
Что такое вычисляемые свойства и как их использовать?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Вычисляемые свойства (computed properties) в Vue.js — это геттеры, которые кэшируют результат на основе своих зависимостей. Они полезны для вычисления значений, которые зависят от других реактивных данных, и их результат пересчитывается только при изменении этих зависимостей.
Использование:
- Объявляются в опции
computedкомпонента. - Представляют собой функции, возвращающие вычисляемое значение.
- По умолчанию работают как геттеры (только для чтения). Для записи необходимо определить сеттер.
Пример геттера:
// Vue компонент
export default {
data() {
return {
firstName: 'John',
lastName: 'Doe'
};
},
computed: {
// Вычисляемое свойство, зависящее от firstName и lastName
fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
};
Использование в шаблоне: {{ fullName }}
Пример геттера и сеттера:
// Vue компонент
export default {
data() {
return {
firstName: 'John',
lastName: 'Doe'
};
},
computed: {
fullName: {
// Геттер
get() {
return `${this.firstName} ${this.lastName}`;
},
// Сеттер
set(newValue) {
const names = newValue.split(' ');
this.firstName = names[0];
this.lastName = names[names.length - 1];
}
}
}
};
Отличия от методов:
| Характеристика | Вычисляемое свойство (computed) | Метод (methods) |
|---|---|---|
| Кэширование | Кэширует результат, пересчитывается при смене зависимостей | Выполняется при каждом вызове |
| Зависимости | Реактивные данные | Нет прямой связи с реактивными данными |
| Использование | Для получения вычисляемых значений | Для выполнения действий или логики |
| Синтаксис | Как свойство | Как функция |