Работал ли с анимацией на Vue

Ответ

Да, работал с анимациями в Vue, используя <transition> и <transition-group>. Они позволяют добавлять анимации при появлении, удалении и изменении порядка элементов.

Пример простой анимации fade:

<template>
  <button @click="show = !show">Toggle</button>
  <transition name="fade">
    <p v-if="show">Hello, Vue!</p>
  </transition>
</template>

<style>
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}
</style>

Также использовал библиотеки, например GSAP для сложных анимаций.

Ответ 18+ 🔞

А, ну это ж классика, блядь! Vue и его эти... <transition> с <transition-group>. Ну, вроде как нормальные ребята, не подведут, если надо элемент плавненько вывалить на сцену или, наоборот, спиздить его с неё, да ещё и порядок поменять, если что.

Вот смотри, самый простой пример, чтоб мозги не ебать. Хочу, чтобы текст плавно появлялся и исчезал, как призрак, блядь.

<template>
  <button @click="show = !show">Toggle</button>
  <transition name="fade">
    <p v-if="show">Hello, Vue!</p>
  </transition>
</template>

<style>
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}
</style>

Весь фокус, ёпта, в этих классах. Пока элемент вставляется, Vue накидывает fade-enter и fade-enter-active. А когда удаляется — fade-leave-active и fade-leave-to. Ты просто говоришь CSS: «Слушай, братан, на протяжении полсекунды (0.5s) плавненько меняй opacity, а в начале и в конце пусть будет ноль». И всё, пиздец, магия! Текст не дёргается, как сука в припадке, а культурно растворяется.

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