Выполнить показ страницы и оставить анимацию: переходы запускаются только изредка - PullRequest
0 голосов
/ 26 апреля 2018

Как я могу выполнять анимацию при переходе (через $ router) к странице / URL-адресу. То есть, как я могу выполнять анимацию в шоу и на выходе из страницы? У меня будут разные анимации входа и выхода для каждой страницы. Анимации сложны, поэтому мы используем обратные вызовы JavaScript вместо реализации css3

Я попытался выполнить следующее, но обратные вызовы перехода не запускаются каждый раз. Для некоторых страниц обратные вызовы запускаются для других, которые они не делают, и у всех них есть точный код. Это довольно странно.

Пример MyPage.vue (может быть Contact.vue, AboutUs.vue и т. Д.):

<template>
  <transition v-on:enter="enter" v-on:leave="leave">
      <main>
        <p>Foo</p>
      </main>
  </transition>
</template>

<script type="text/javascript"> 

import gsap from 'gsap' // include animation library

export default { 
  methods: {
      enter: function (el, done) {

        // I only see the text enter sometimes for a page. Its not consistently firing
        console.log('enter')
        done()
      },

      leave: function (el, done) {
        // I only see the text leave sometimes for a page. Its not consistently firing
        console.log('leave')
        done()
      }
  }
}
</script>

1 Ответ

0 голосов
/ 26 апреля 2018

Проверьте этот пример: https://codesandbox.io/s/n38vz0pnzp

Это срабатывает, как и ожидалось.

Я добавил опору appear, которая запускает анимацию ввода даже для монтирования первого компонента (при запуске приложения).

...