Router 是 Vue.js 的官方路由管理工具,可以將 Vue 組件映射到路由中,實現單頁應用和頁面跳轉等功能。同時,Vue.js 的動畫系統可以結合 Router 實現頁面切換過渡動畫效果,增加用戶體驗。
Vue.js 動畫系統支持在組件內部使用動畫效果,也支持在路由切換時設置過渡動畫。在 Router 中,通過設置不同路由之間的過渡效果,可以實現頁面切換時的動畫效果。
// 在 Router 實例中添加 transition 屬性,設置過渡動畫
const router = new VueRouter({
routes: [
{
path: '/',
component: Home
},
{
path: '/about',
component: About
}
],
transition: {
// 定義路由切換時的動畫效果類名
name: 'fade',
// 定義路由離開時的動畫效果
mode: 'out-in'
}
})
上述代碼中,將 Router 實例中的 transition 屬性設置為對象,包含 name 和 mode 兩個屬性。name 定義了動畫效果的類名,可以在 CSS 樣式中設置過渡效果。mode 定義了路由離開和進入時的動畫效果,可以設置為 in-out 或 out-in。
接下來,在 CSS 樣式中設置過渡效果的類名:
.fade-enter-active, .fade-leave-active {
transition: opacity .5s ease;
}
.fade-enter, .fade-leave-to {
opacity: 0;
}
上述代碼中,.fade-enter-active 和 .fade-leave-active 類名表示動畫開始和結束時的狀態,設置了 opacity 過渡效果,周期為 0.5s,緩動方式為 ease。.fade-enter 和 .fade-leave-to 類名表示路由進入和離開時的狀態,設置了 opacity 值為 0,即完全透明。
通過以上設置,頁面在路由切換時將產生透明度從 0 到 1 的過渡效果,增加用戶體驗。
上一篇css分割線背景圖
下一篇html3d導航菜單代碼