Vue路由(vue-router)动画

Vue路由(vue-router)动画教程

Vue 中,Vue 路由(vue-router) 组件切换时,可以使用动画效果。Vue 路由(vue-router) 组件切换要实现动画效果,只需要将 router-view 标签使用 transition 标签包裹起来即可。

Vue路由(vue-router)动画详解

语法

<style> .v-enter, .v-leave.to{ opacity: 0; transform: translateX(150px); } .v-enter-active, .v-leave-active{ transition: all 0.5s ease; } </style> <body> <div id="app"> <transition mode="out-in"> <router-view></router-view> </transition> </div> </body>

说明

只需要将 router-view 标签使用 transition 标签包裹起来即可实现路由切换时的动画效果。

案例

路由切换动画

将 router-view 标签使用 transition 标签包裹起来实现路由切换时的动画效果

<!DOCTYPE html> <html> <head> <title>Vue路由(vue-router)动画</title> <script type="text/javascript" src="./lib/vue-2.6.10.min.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> </head> <style> .myactive{ color:red; font-weight: 100; font-style: italic; font-size: 20px; text-decoration: underline; } .v-enter, .v-leave.to{ opacity: 0; transform: translateX(150px); } .v-enter-active, .v-leave-active{ transition: all 0.5s ease; } </style> <body> <div id="app"> <router-link to="/login">登录</router-link> <router-link to="/register">注册</router-link> <transition mode="out-in"> <router-view></router-view> </transition> </div> <p>嗨客网(www.haicoder.net)</p> </body> <script type="text/javascript"> var login = { template: '<h1>登录组件</h1>' } var register = { template: '<h1>注册组件</h1>' } var routerObj = new VueRouter({ routes: [ {path: "/", redirect: '/login'}, {path: "/login", component: login}, {path: "/register", component: register} ], linkActiveClass:'myactive' }) var vm = new Vue({ el : '#app', data:{ msg: "嗨客网" }, router: routerObj }); </script> </html>

程序运行后,浏览器显示效果如下:

08 vue router donghua.png

我们在点击超链接,实现路由切换的时候,组件切换的过程会有动画效果。

Vue路由(vue-router)动画总结

在 Vue 中,Vue 路由(vue-router) 组件切换时,可以使用动画效果。Vue 路由(vue-router) 组件切换要实现动画效果,只需要将 router-view 标签使用 transition 标签包裹起来即可。