zoukankan      html  css  js  c++  java
  • Vue-admin工作整理(七):路由的切换动效

    • 思路就是通过 transition-group 这个组件来对多组件进行控制,效果是通过样式来写,transition-group要有指定的key值,样式中通过name来命名类的名字
    <template>
      <div id="app">
        <div id="nav">
          <router-link :to="{ name: 'home' }">Home</router-link> |
          <router-link :to="{ name: 'about' }">About</router-link>
        </div>
        <transition-group name= 'router'>
        <router-view key="default"/>
        <router-view key="email" name="email"/>
        <router-view key="tel" name="tel"/>
        </transition-group>
      </div>
    </template>
    
    <style lang="less">
    .router-enter {
      //页面进入时:即将要加载的时候,透明度是0
      opacity: 0;
    }
    .router-enter-active {
      //页面进入时:组件从没有到有的动态效果
      transition: opacity 1s ease;
    }
    .router-enter-to {
      //页面进入时:页面完全显示之后的状态
      opacity: 1;
    }
    .router-leave {
      //页面离开时:即将要加载的时候,透明度是0
      opacity: 1;
    }
    .router-leave-active {
      //页面离开时:组件从没有到有的动态效果
      transition: opacity 1s ease;
    }
    .router-leave-to {
      //页面离开时:页面完全显示之后的状态
      opacity: 0;
    }
    #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;
        }
      }
    }
    </style>
    • 继续深入一下效果的实现:就是路由中存在某个参数效果再去呈现,实现思路:增加watch监听,来查看当前实例的路由参数数据,如果存在指定的URL路由参数,那么就执行特效
    <template>
      <div id="app">
        <div id="nav">
          <router-link :to="{ name: 'home' }">Home</router-link> |
          <router-link :to="{ name: 'about' }">About</router-link>
        </div>
        <transition-group :name= 'routerTransition'>
        <router-view key="default"/>
        <router-view key="email" name="email"/>
        <router-view key="tel" name="tel"/>
        </transition-group>
      </div>
    </template>
    <script>
    export default {
      data () {
        return {
          routerTransition: ''
        }
      },
      watch: {
        // 当前实例中存在routerTransitionName特效才会生效
        '$route' (to) {
          to.query && to.query.routerTransitionName && (this.routerTransition = to.query.routerTransitionName)
        }
      }
    }
    </script>
    
    <style lang="less">
    .router-enter {
      //页面进入时:即将要加载的时候,透明度是0
      opacity: 0;
    }
    .router-enter-active {
      //页面进入时:组件从没有到有的动态效果
      transition: opacity 1s ease;
    }
    .router-enter-to {
      //页面进入时:页面完全显示之后的状态
      opacity: 1;
    }
    .router-leave {
      //页面离开时:即将要加载的时候,透明度是0
      opacity: 1;
    }
    .router-leave-active {
      //页面离开时:组件从没有到有的动态效果
      transition: opacity 1s ease;
    }
    .router-leave-to {
      //页面离开时:页面完全显示之后的状态
      opacity: 0;
    }
    #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;
        }
      }
    }
    </style>

     

  • 相关阅读:
    验证车牌警车能源车
    两个二维数组组合并且日期相同的其他值相加
    运用phpExcel导出查询的数据
    JQ加减乘除运算
    获取url传递的参数、鼠标滚动加载事件
    SQL查询将数据按字段(2017-08-15 11:34:05)进行按月分组
    关于角色和权限控制数据表相关
    有关无限极分类并排序问题
    前端解决用户登录时,禁止chrome提示用户保存密码
    前端学习之iframe配合hash做菜单导航的问题:修改src跳转与contentWindow.location.replace('')的问题
  • 原文地址:https://www.cnblogs.com/cristin/p/9590098.html
Copyright © 2011-2022 走看看