我正在使用vue和vue-router作为我的投资组合。我添加了简单的“淡入淡出”动画。而且我的动画落后了。
我的App.vue组件:
<template>
<div id="app">
<Square/>
<Navbar/>
</div>
</template>
我的Square.vue组件:
<template>
<div id="square">
<transition name="fade">
<router-view></router-view>
</transition>
</div>
</template>
<style>
.fade-enter-active, .fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to{
opacity: 0;
}
</style>
我的路线文件:
import Vue from 'vue';
import Router from 'vue-router';
import Hello from './views/Hello.vue';
Vue.use(Router);
export default new Router({
routes: [
{
path: '/',
name: 'hello',
component: Hello,
},
{
path: '/i-am',
name: 'I am',
component: () => import(
'./views/About.vue'),
},
{
path: '/i-use',
name: 'I use',
component: () => import(
'./views/Using.vue'),
},
],
});
我认为这不是因为动画风格。新内容的渲染速度快于旧组件的破坏速度。
答案 0 :(得分:1)
VueJS Transition Component具有这个很酷的道具,称为mode。 这样可以在销毁以前的组件时增加平滑效果。
<transition name="fade" mode="out-in">
<!-- ... the buttons ... -->
</transition>
https://vuejs.org/v2/guide/transitions.html#Transition-Modes