Задать вопрос
@loken99

В каких случаях необходимо использовать computed свойства во vue 3 composition api?

В каких случаях необходимо использовать computed свойства во vue 3 composition api? Чет я не понимаю, и можно ли вместо computed просто использовать переменную
  • Вопрос задан
  • 448 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
blatisgense
@blatisgense
Front-end (VueJS) / FullStack инженер из Беларуси.
Computed свойства желательно использовать когда нужно отслеживать изменение переменной и затем производить вычисления или иные операции (зависящие от отслеживаемой переменной) результат которых будет сохранен в виде другой переменной.

Пример из официальной документации:

<script setup>
import { reactive, computed } from 'vue'

const author = reactive({
  name: 'John Doe',
  books: [
    'Vue 2 - Advanced Guide',
    'Vue 3 - Basic Guide',
    'Vue 4 - The Mystery'
  ]
})

const publishedBooksMessage = computed(() => {
  return author.books.length > 0 ? 'Yes' : 'No'
})
</script>

<template>
  <p>Has published books:</p>
  <span>{{ publishedBooksMessage }}</span>
</template>


Отличие от watch в том что вычисляемые свойства кэшируются на основе их реактивных зависимостей. Это значит что код ниже не будет работать корректно, ведь всегда возвращает время первого вызова, а не актуальное.

const now = computed(() => Date.now())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы