• vue路由动态过渡效果


    不多说,直接上代码

    import Vue from 'vue' //引入vue
    import VueRouter from 'vue-router'  //引入路由
    
    Vue.use(VueRouter)   //使用路由
    //定义Home组件
    const Home = {    
      template: `
        <div class="home">
          <h2>Home</h2>
          <p>hello</p>
        </div>
      `
    }
    
    const Parent = {
      data () {
        return {
          transitionName: 'slide-left'
        }
      },
      // 基于路由变化动态设置转换
      watch: {
        '$route' (to, from) {
          const toDepth = to.path.split('/').length
          const fromDepth = from.path.split('/').length
          this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left'
        }
      },
      template: `
        <div class="parent">
          <h2>Parent</h2>
          <transition :name="transitionName">
            <router-view class="child-view"></router-view>
          </transition>
        </div>
      `
    }
    
    const Default = { template: '<div class="default">default</div>' }
    const Foo = { template: '<div class="foo">foo</div>' }
    const Bar = { template: '<div class="bar">bar</div>' }
    //定义路由路径
    const router = new VueRouter({
      mode: 'history',//历史模式
      base: __dirname,
      routes: [
        { path: '/', component: Home },
        { path: '/parent', component: Parent,
          children: [
            { path: '', component: Default },
            { path: 'foo', component: Foo },
            { path: 'bar', component: Bar }
          ]
        }
      ]
    })
    
    new Vue({
      router,
      template: `
        <div id="app">
          <h1>Transitions</h1>
          <ul>
            <li><router-link to="/">/</router-link></li>
            <li><router-link to="/parent">/parent</router-link></li>
            <li><router-link to="/parent/foo">/parent/foo</router-link></li>
            <li><router-link to="/parent/bar">/parent/bar</router-link></li>
          </ul>
          <transition name="fade" mode="out-in">
            <router-view class="view"></router-view>
          </transition>
        </div>
      `
    }).$mount('#app')
  • 相关阅读:
    怎么写好组件
    html5/css3常考面试题
    js各种继承方式和优缺点的介绍
    C#控件背景透明的几种解决方案
    c# 控件闪烁处理方法
    使用委托的BeginInvoke方法来完成复杂任务的操作
    C#中的预处理器指令
    C#中父窗口和子窗口之间实现控件互操作
    C#编程让Outlook乖乖交出帐户密码
    在Linux上运行C#
  • 原文地址:https://www.cnblogs.com/cczlovexw/p/7738013.html
Copyright © 2020-2023  润新知