zoukankan      html  css  js  c++  java
  • Vue transition 动画

    router/index.js####

    import Vue from 'vue'
    import Router from 'vue-router'
    import HelloWorld from '@/components/HelloWorld'
    import Test from '@/components/test'
    import Test2 from '@/components/test2'
    
    //重写go方法
    Router.prototype.go = function(n){
      this.isBack = true;
      window.history.go(n);
    }
    
    Vue.use(Router)
    
    export default new Router({
      mode: 'history',
      routes: [
        {
          path: '/',
          name: 'HelloWorld',
          component: HelloWorld
        },
        {
          path: '/Test',
          name: 'Test',
          component: Test
        },
        {
          path: '/Test2',
          name: 'Test2',
          component: Test2
        }
      ]
    })
    
    

    App.vue####

    <template>
      <div id="app">
        <img src="./assets/logo.png">
          <transition :name="transitionName">
            <router-view class="router"/>
          </transition>
      </div>
    </template>
    
    <script>
    export default {
      name: 'App',
      data(){
        return{
          transitionName: 'slide-left'
        }
      },
      watch:{
        '$route': function(){
          if(this.$router.isBack){
            this.transitionName = "slide-right";
            this.$router.isBack = false;
          } else {
            this.transitionName = "slide-left"
          }
        }
      }
    }
    </script>
    
    <style>
    #app {
      font-family: 'Avenir', Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
      position: relative;
    }
    .router{
      position: absolute;
      left: 46%;
      transition: all cubic-bezier(.55,0,.1,1) .5s;
    }
    .slide-left-enter, .slide-right-leave-active{
      opacity: 0;
      -webkit-transform: translate(50px, 0);
      transform: translate(50px, 0);
    }
    .slide-left-leave-active, .slide-right-enter{
      opacity: 0;
      -webkit-transform: translate(-50px, 0);
      transform: translate(-50px, 0);
    }
    </style>
    
    
  • 相关阅读:
    python学习笔记(2)
    数据分析工具pandas
    python学习笔记(1)
    python学习笔记(3)
    python学习笔记(2):科学计算及数据可视化入门
    python学习笔记(1):python基础
    js setTimeout 和 setInterval 区别
    C#根据URL生成签名
    jquery.validate.js客户端验证
    redis学习(一)
  • 原文地址:https://www.cnblogs.com/yzyh/p/10246780.html
Copyright © 2011-2022 走看看