keep-alive 是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM,我们要把它也包裹在transition标签内,否则页面将重新渲染,切换的动画也会卡顿
<transition :name="transitionName">
<keep-alive>
<router-view class="transitionBody"></router-view>
</keep-alive>
</transition>
通过watch来处理路由跳转是左是右
data () {
return {
transitionName: 'transitionLeft'
}
},
watch: {
'$route' (to, from) {
const arr = ['NewsPage', '/jokePage', '/jokePage', '/myPage']
const compare = arr.indexOf(to.path) > arr.indexOf(from.path)
this.t