组件内的守卫 --能够在这里听到路由的变化,并且可以后续的使用实例this,可以传递一个回调函数
有两个函数:
需要路由组件切换的动画,需要用transition组件包裹着
<template> <div id="app"> <Nav></Nav> <div id="content"> <transition name="fade"> <router-view class="view"></router-view> </transition> </div> </div> </template> <script> import Nav from './components/APP/Nav' export default { name:'app', components:{ Nav, } } </script> <style lang="less"> #app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; } #nav { padding: 30px; a { font-weight: bold; color: #2c3e50; &.router-link-exact-active { color: #42b983; } } } .view{ position: absolute; width: 500px; height: 200px; top: 0; left: 0; right: 0; margin: auto; background-color: pink; transition: 1s; transform-origin: center center -350px; } //淡入淡出的样式 /*.liquan-enter{*/ /* //初始状态*/ /* opacity: 0;*/ /*}*/ /*.liquan-enter-active{*/ /* //进入激活之时*/ /* transition: .3s;*/ /*}*/ /*.liquan-enter-to{*/ /* opacity: 1; //进入的最终状态*/ /*}*/ /*.liquan-leave{*/ /* //离开的初始样式*/ /* opacity: 1;*/ /*}*/ /*.liquan-leave-active{*/ /* transition: .3s;*/ /*}*/ /*.liquan-leave-to{*/ /* //离开的最终样式*/ /* opacity: 0;*/ /*}*/ #content{ position: relative; margin: auto; /*border: 1px solid red;*/ width: 500px; height: 600px; overflow: hidden; perspective:900px; transform-style: preserve-3d; /*overflow: hidden;*/ } //.左右滑入的样式 /*.scroll-enter{*/ /* transform: translateX(100%);*/ /*}*/ /*.scroll-enter-to{*/ /* transform: translateX(0);*/ /*}*/ /*.scroll-leave{*/ /* transform: translateX(0);*/ /*}*/ /*.scroll-leave-to{*/ /* transform: translateX(-100%);*/ /*}*/ //翻转动画 .fade-enter{ transform: rotateY(90deg); } .fade-enter-to{ transform: rotateY(0deg); } .fade-leave{ transform: rotateY(0deg); } .fade-leave-to{ transform: rotateY(-90deg); } /*.fade-leave-active{*/ /* transition: .1s;*/ /*}*/ </style>