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

    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())
    Ответ написан
    Комментировать
  • Какие есть генераторы форм?

    blatisgense
    @blatisgense
    Front-end (VueJS) / FullStack инженер из Беларуси.
    • Vue formulate
      Комплексный модуль для генерации, обработки ошибок, создании сгруппированных и повторяющихся полей и многое другое.
    • Vuelidate
      Легковесный плагин для валидации форм.
    Ответ написан
    Комментировать
  • Как задать flex блоку длины не на всю ширину, а только на ширину самого длинного дочернего элемента?

    blatisgense
    @blatisgense
    Front-end (VueJS) / FullStack инженер из Беларуси.
    Чтобы так сделать задайте контейнеру не flex, а inline-flex и тогда он будет со свойствами инлайн элемента.
    Ответ написан
    Комментировать