vue router 切换动画

  • 模拟前进后退动画
  • 基于css3流畅动画
  • 基于sessionStorage,页面刷新不影响路由记录
  • 路由懒加载,返回可记录滚动条位置
  • 前进后退的判断与路由路径规则无关
  • 支持任意基于Vue的UI框架

在线预览

配套包含两个组件

  • vue-route-transition 负责动画
  • router-layout 负责页面排版。 主要是解决transform动画,position:fixed异常问题
  1. npm i vue-route-transition --save

main.js

  1. import RouteTransition from 'vue-route-transition'
  2. Vue.use(RouteTransition)

App.vue

  1. <template>
  2. <vue-route-transition id="app">
  3. </vue-route-transition>
  4. </template>

页面,如果有吸附头部,或吸附底部元素的情况下才需要使用router-layout组件

  1. <template>
  2. <router-layout>
  3. <header slot="header">
  4. 头部导航
  5. </header>
  6. <div></div>
  7. <div></div>
  8. ...
  9. <footer slot="footer">
  10. <button>底部按钮</button>
  11. </footer>
  12. </router-layout>
  13. </template>

如果存在子路由,需手动设置router-layout的id属性,滚动条定位作用。

  1. <router-layout id="__index">
  2. <router-view></router-view>
  3. <van-tabbar slot="footer" :fixed="false" v-model="active">
  4. <van-tabbar-item to="/" icon="shop">标签</van-tabbar-item>
  5. <van-tabbar-item to="/tab" icon="chat">标签</van-tabbar-item>
  6. <van-tabbar-item to="/swipe" icon="records">标签</van-tabbar-item>
  7. </van-tabbar>
  8. </router-layout>

github

本项目基于 MIT 协议,请自由地享受和参与开源。

版权声明:本文为dreamback原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dreamback/p/vue-route-transition.html