Ищу решение сделать анимацию между маршрутами в сетке. Я хотел бы создать оверлей полной ширины и высоты с анимацией слева направо. Когда оверлей установлен на полную ширину, он должен заменить контент в слоте.
То, что я пытался сделать, это
<div class="overlay" :class="{ 'overlay--open': overlayOpen }"></div>
<transition
appear
v-on:before-appear="beforeAppear"
v-on:appear="appear"
v-on:after-appear="afterAppear"
>
<main>
<slot/>
</main>
</transition>
и в методах
methods: {
beforeAppear: function (el) {
this.overlayOpen = true
}
}
стиль
.overlay{
position: fixed;
width: 100%;
height: 100vh;
top: 0;
left: 0;
background-color: #0c0c0c;
z-index: 99999;
transition: all 500ms;
transform-origin: left;
transform: scaleX(0);
&--open{
animation: open 1s;
}
@keyframes open {
0% {
transform: scaleX(0);
}
50% {
transform: scaleX(1);
}
100% {
transform: scaleX(0);
}
Это почти сработало, но я не думаю, что это хорошая практика для смены маршрута. Если у вас есть идеи, как это сделать, я был бы очень признателен. Спасибо