路由重定向以及动画路由
本节讲解路由重定向以及动画路由。
路由重定向
根据路由匹配规则,6.2 节的案例只有当路径是 /login 或者 /register 时才能显示组件,初次加载页面组件是空白的,可以设置路由重定向,当初次加载页面时,定位到登录组件,代码如下。
var router = new VueRouter({
routes: [{
path: '/',
redirect: 'login' // 这里的 login 是地址,不是组件名字
},
{
path: '/login',
component: login
},
{
path: '/register',
component: register
}
]
})
当访问根路径时,使用 redirect 属性进行路径跳转,注意 redirect 属性值是路径地址,并不是组件的名字。
动画路由
使用路由也是可以添加动画效果的,当单击 “登录” 和 “注册” 按钮时,给组件的进入和离开添加动画效果,具体分为两步。
(1)使用 transition 包裹需要添加动画的元素。 (2)添加两组类样式,代码如下。
<div id="app" v-cloak>
<router-link to="/login">登录</router-link>
<router-link to="/register">注册</router-link>
<transition>
<router-view></router-view>
</transition>
</div>
<style>
.v-enter,
.v-leave-to {
opacity: 0;
transform: translateX(200px);
}
.v-enter-active,
.v-leave-active {
transition: all 1s ease;
}
</style>
运行代码,组件之间的切换就有了动画效果。