Vue, Использование javascript-хука для достижения сбоя анимации

Я написал компонент анимации, который отлично работает, но реализует его с использованием имени класса следующим образом:

<template>
    <div>
        <transition name = "bar">
            <slot></slot>
        </transition>
    </div>
</template>

<style lang = "stylus" scoped>
.bar-enter-active, .bar-leave-active{
    transition: all .3s;
}

.bar-leave-active{
    transform translateY(200px)
}

.bar-enter{
    transform translateY(200px)
}
</style>

Но теперь я хочу реализовать это через хук javascript, потому что есть некоторые параметры, которые необходимо передать извне компонента, например: направление (сверху вниз, слева направо и т. д.), Расстояние скольжения и т. д.

<template>
    <div>
        <transition
            v-on:before-enter = "beforeEnter"
            v-on:enter = "enter"
            v-on:leave = "leave"
        >
            <slot></slot>
        </transition>
    </div>
</template>
<script>
export default {
    name: 'animation',
    methods: {
        beforeEnter: function (el) {
            el.style.transform = 'translate-y(200px)'
        },
        enter: function (el, done) {
            el.style.transitionDuration = "3s"
            el.style.transitionProperty = "all"
            done()
        },
        leave: function (el, done) {
            el.style.transform = 'translate-y(200px)'
            // el.style.transition = 'all 3s'
            el.style.transitionDuration  = "3s"
            el.style.transitionProperty = "all"
            done()
        },
    }
}
</script>

Сначала у меня были трудности, потому что я обнаружил, что el.style.transform = 'translate-y(200px)' вообще не работает.

Я просто хочу, чтобы они добились такого же эффекта, но в чем проблема?

Спасибо за вашу помощь !

Я не эксперт, но разве вам не нужно делать что-то вроде el.target.style.whatever?

git-e-up 03.08.2018 18:22

код выглядит нормально, проверьте, есть ли другой переход с name = "bar"

Helping hand 03.08.2018 20:41

@Helpinghand Спасибо! Второй код - я забыл его удалить (name = "bar").

qingyun1029 04.08.2018 08:29

@ git-e-up Спасибо, попробовал, el.target получит undefined

qingyun1029 04.08.2018 08:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
46
0

Другие вопросы по теме