首页 > 其他分享 >vue路由切换滑动效果

vue路由切换滑动效果

时间:2024-05-21 21:18:10浏览次数:10  
标签:index vue 100% slide meta right active 滑动 路由

1.增加页面路由

{
    path: '/feedbackList',
    name: 'feedbackList',
    component: () => import('../views/feedbackList/index'),
    meta:{
      title: "反馈列表",
      index: 1
    }
  },
  {
    path: '/feedbackRecordList',
    name: 'feedbackRecordList',
    component: () => import('../views/feedbackList/record'),
    meta:{
      title: "记录列表",
      index: 2
    }
  },
  {
    path: '/feedbackRecordDetails',
    name: 'feedbackRecordDetails',
    component: () => import('../views/feedbackList/details'),
    meta:{
      title: "记录详情",
      index: 3
    }
  }

2.修改

接着,我们打开 App.vue 页面

<router-view />

修改为

<transition :name="transitionName"><router-view /></transition>

3.App.vue最终代码

<template>
  <div id="app">
    <transition :name="transitionName">
      <router-view />
    </transition>
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      transitionName: "",
    };
  },
  methods: {
  },
  components: {
  },
  watch:{
    $route(to,from){
      //实现路由跳转动画
      if (to.meta.index > from.meta.index)  
        this.transitionName = "slide-left";
      if (to.meta.index < from.meta.index)
        this.transitionName = "slide-right";
    }
  }
}
</script>

<style>
#app {
  height: 100%;
  min-height: 100%;
}
/* 路由页面跳转交互 */
.slide-right-enter-active,.slide-right-leave-active,.slide-left-enter-active,.slide-left-leave-active {
  will-change: transform;
  transition: all .5s;
  position: absolute;
}
.slide-right-enter {
  opacity: 0;
  transform: translate(-100%);
}
.slide-right-leave-active {
  opacity: 0;
  transform: translateX(100%);
}
.slide-left-enter {
  opacity: 0;
  transform: translateX(100%);
}
.slide-left-leave-active {
  opacity: 0;
  transform: translateX(-100%);
}
</style>

 

标签:index,vue,100%,slide,meta,right,active,滑动,路由
From: https://www.cnblogs.com/xmyfsj/p/18204934

相关文章

  • uniapp-vue3-oadmin手机后台实例|vite5.x+uniapp多端仿ios管理系统
    原创vue3+uniapp+uni-ui跨端仿ios桌面后台OA管理模板Uni-Vue3-WeOS。uniapp-vue3-os一款基于uni-app+vite5.x+pinia等技术开发的仿ios手机桌面OA管理系统。实现了自定义桌面栅格磁贴布局、多分屏滑动管理、自定义桌面小部件、辅助触控悬浮球等功能。支持编译到H5+小程序端+App端......
  • .Net6 web API (跨域请求 Vue项目)
    前沿在做新项目的时候跨域2中选择一种是,.net .net //添加跨域策略builder.Services.AddCors(options=>{options.AddPolicy("CorsPolicy",opt=>opt.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().WithExposedHeaders("X-Pagina......
  • vue3插件(unplugin-auto-import自动引入的使用)
    1. vite.config文件里面1importAutoImportfrom'unplugin-auto-import/vite'23plugins:[4.......,5AutoImport({6include:[7/\.[tj]sx?$/,//.ts,.tsx,.js,.jsx8/\.vue$/,9/\.vue\?......
  • vue2的混入mixin使用
    前言vue3中不再推荐使用mixins!在Vue2中,mixins是创建可重用组件逻辑的主要方式。尽管在Vue3中保留了mixins支持,但对于组件间的逻辑复用,使用组合式API的组合式函数是现在更推荐的方式。参考文档:https://juejin.cn/post/7033424132427481101https://segmentfault.c......
  • 2024-05-21 Module not found: Error: Can't resolve 'ant-design-vue/dist/antd.css'
    报错:Modulenotfound:Error:Can'tresolve'ant-design-vue/dist/antd.css'in'xxx'原因:引入的antd.css文件实际上应该是reset.css文件,是由于ant-design-vue的官网给的代码和实际下的包的文件不一致导致。解决方案:把import"ant-design-vue/dist/antd.css";改成import"ant......
  • 后台向vue页面传值
    //向vue页面传值//步骤1://现在js文件中规定调用的后台接口查询车辆状态详细exportfunctionlistCar(query){returnrequest({url:'/mqtts/start/liststat',method:'get',params:query})//步骤2://在vue页面的script下引入方法listCarimport{listCar}from"@......
  • django-vue-admin文件分析
    后端:backend\dvadmin\system\views├──api_white_list.py//接口写入集合管理├──area.py//地区管理:对省市县区域进行管理。├──clause.py//npm包配置文件,里面定义了项目的npm脚本,依赖包等信息......
  • 『手撕Vue-CLI』处理不同指令
    前言在上一篇『手撕Vue-CLI』添加自定义指令中,已经实现了自定义指令的添加,但是指令还是比较简单的,只是简单的打印一句话,那么在实际运用场景中,可能会有更多的需求,比如可能需要在指令中传递参数,或者需要在指令中进行一些复杂的操作,那么这个时候我们就需要对指令进行处理了。创建......
  • 代码随想录算法训练营第十三天 | 239. 滑动窗口最大值 347. 前k个高频元素
    239.滑动窗口最大值题目链接文章讲解视频讲解思路:使用单调队列,来维护有可能成为最大值的元素;   当窗口向右滑动时,判断移除的元素是否是队首元素如果是的话出队;   新加入的元素依次和队尾元素作比较,如果大于队尾元素则将队尾元素循环出队,这样可以保证队列中始终维持......
  • VUE,HbuilderX开发H5页面,配置调试,部署以及JWT,Token。调用本机netcore接口
    花了一周时间,测试了各种方式。对于VUE开发H5页面,然后部署到Nginx服务。再调用本地的HTTPS接口。1、本地开发及使用IE或Chrome进行开发调试,并调用本地接口同步开发。本地Netcore,开发按原有方式进行。Hbuilderx,开发并调用本地接口。设置时,不要使用Https进行。直接用http即可。Hbuild......