1.引入animate.css
在styles引入css样式文件,
@import "animate.css";
接着写一个动画
@keyframes enter {
from {
opacity: 0;
transform: translateY(-10%)
}
to {
opacity: 1;
transform: translateY(0%)
}
}
@keyframes leave {
from {
opacity: 1;
transform: translateY(0%)
}
to {
opacity: 0;
transform: translateY(10%)
}
}
.enter {
animation: enter .6s;
}
.leave {
animation: leave .6s;
}
写一个混入mixins,暴露后到需要的页面进行引用
export const animate = {
data() {
return {
animateClass: "enter"
}
},
beforeRouteEnter(to, from, next) {
// this 取不到 路由进入之前 组件实例还未获取到 所以这里不要使用 this
next();
},
beforeRouteLeave(to, from, next) {
this.animateClass = "leave";
setTimeout(() => {
next();
}, 400)
}
}
使用方式
import { myMixin, animate } from "@/utils";
export default{
mixins: [myMixin, animate],
}
//在html添加class
:class="animateClass"
这样就在进入路由和离开路由后添加动画了