当前位置:首页 > VUE

vue实现页面切换效果

2026-02-24 18:58:25VUE

Vue 实现页面切换效果的方法

使用 Vue Router 过渡动画

Vue Router 内置支持过渡效果,可通过 <transition> 组件实现页面切换动画。在路由出口外包裹 <transition> 并定义动画样式。

<transition name="fade" mode="out-in">
  <router-view></router-view>
</transition>

CSS 动画示例:

.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

动态过渡效果

根据路由变化动态设置过渡名称,实现不同页面间的差异化动画效果。

vue实现页面切换效果

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

watch: {
  '$route' (to, from) {
    this.transitionName = to.meta.transition || 'fade'
  }
}

使用第三方动画库

引入动画库如 Animate.css,快速实现丰富动画效果。

<transition
  enter-active-class="animate__animated animate__fadeIn"
  leave-active-class="animate__animated animate__fadeOut"
>
  <router-view></router-view>
</transition>

页面滑动效果

通过 CSS transform 实现横向滑动切换效果。

vue实现页面切换效果

.slide-enter-active, .slide-leave-active {
  transition: transform 0.5s ease;
}
.slide-enter {
  transform: translateX(100%);
}
.slide-leave-to {
  transform: translateX(-100%);
}

路由钩子控制动画

在路由守卫中控制动画执行时机,确保数据加载完成后再触发过渡。

router.beforeEach((to, from, next) => {
  store.commit('setLoading', true)
  next()
})

组件状态保持

使用 <keep-alive> 缓存组件状态,避免重复渲染影响动画流畅性。

<keep-alive>
  <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>

标签: 效果页面
分享给朋友:

相关文章

js实现跳转页面

js实现跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性可以跳转到指定 URL。这是最常见且简单的方法,会触发页面刷新并加载新页面。 win…

实现js页面跳转页面跳转页面

实现js页面跳转页面跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性,可以直接跳转到目标 URL。这种方法会触发页面刷新,并在浏览器历史记录中留下记录。…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…

vue实现检索效果

vue实现检索效果

Vue实现检索功能的方法 在Vue中实现检索功能通常需要结合数据绑定、计算属性和方法。以下是几种常见的实现方式: 基础实现(基于计算属性) <template> <div>…

vue  实现页面返回

vue 实现页面返回

Vue 实现页面返回功能 在Vue中实现页面返回功能,可以通过以下几种方式实现: 使用路由的go方法 通过Vue Router的go方法可以控制页面跳转,传入负数表示后退。 this.$rout…

vue实现动画效果

vue实现动画效果

Vue 实现动画效果的方法 Vue 提供了多种方式来实现动画效果,包括内置的过渡系统、第三方动画库以及 CSS 动画。以下是几种常见的方法: 使用 Vue 内置的过渡系统 Vue 的 <tra…