Вопрос проверяет умение правильно выбирать между вычисляемыми свойствами и методами в зависимости от сценария использования.
computed следует использовать для значений, которые зависят от реактивных данных и используются в шаблоне. Методы лучше подходят для действий или вычислений, которые выполняются по событию. Если нужен кэшируемый результат — выбирают computed. Если логика должна выполняться каждый раз — метод. Это помогает избежать лишних перерисовок.
Выбор между computed и методами напрямую влияет на читаемость кода и производительность приложения.
computed подходит для производных данных.
Используется, если:
Значение зависит от реактивного состояния
Результат используется в шаблоне
Важно кэширование
Пример:
<p>{{ filteredItems }}</p>
computed: {
filteredItems() {
return this.items.filter(item => item.active);
}
}
Методы подходят для выполнения логики.
Используются, если:
Вычисление вызывается по событию
Нужны параметры
Кэширование не требуется
Пример:
methods: {
handleClick() {
this.logAction();
}
}
Использовать методы вместо computed в шаблоне, что приводит к лишним вычислениям при каждом рендере.
computed используется для кэшируемых производных данных, а методы — для действий и вычислений, запускаемых по необходимости.