vue-router transition 路由切换效果

Posted 佑之以航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-router transition 路由切换效果相关的知识,希望对你有一定的参考价值。

所需更改文件  App.vue

template结构:

<template>
<div id="app">
<div id="nav">
<router-link to="/come">Come</router-link>
</div>
<transition :name="transitionName">
<router-view class="child-view"></router-view>
</transition>
</div>
</template>

script结构:

<script>

export default {
name: ‘app‘,
data () {
return {
transitionName: ‘slide-left‘
}
},
mounted () {
},
//监听路由的路径,可以通过不同的路径去选择不同的切换效果
watch: {
‘$route‘ (to, from) {
if(to.path == ‘/‘){
this.transitionName = ‘slide-right‘;
}else{
this.transitionName = ‘slide-left‘;
}
if(to.path == ‘/come‘){
this.transitionName = ‘slide-right‘;
}else{
this.transitionName = ‘slide-left‘;
}
}
}
}
</script>

style结构:

<style>

.child-view {
margin: 300px auto;
width: 100%;
height: 100%;
transition: all .5s cubic-bezier(.55,0,.1,1);
}
.slide-left-enter, .slide-right-leave-active {
opacity: 0;
-webkit-transform: translate(30px, 0);
transform: translate(30px, 0);
}
.slide-left-leave-active, .slide-right-enter {
opacity: 0;
-webkit-transform: translate(-30px, 0);
transform: translate(-30px, 0);
}

</style>

 

以上是关于vue-router transition 路由切换效果的主要内容,如果未能解决你的问题,请参考以下文章

vue-router 怎么改变网站的title?

找不到页面上的 Vue-router 重定向 (404)

vue-router过渡动画

超详细!Vue-Router手把手教程

Vue.js 页面过渡淡入淡出效果与 vue-router

VueJs:使用 vue-router 的两个独立且独立的路由/视图