File tree Expand file tree Collapse file tree 5 files changed +31
-29
lines changed Expand file tree Collapse file tree 5 files changed +31
-29
lines changed Original file line number Diff line number Diff line change 11<script setup lang="ts">
22import type { ConfigProviderTheme } from ' vant'
3- import { useRouteTransitionNameHook } from ' @/stores/modules/routeTransitionName'
3+ import { storeToRefs } from ' pinia'
4+ import useRouteTransitionNameStore from ' @/stores/modules/routeTransitionName'
45
56const theme = ref <ConfigProviderTheme >(' light' )
67provide (' isRealDark' , computed (() => theme .value === ' dark' ))
8+
9+ const routeTransitionNameStore = useRouteTransitionNameStore ()
10+ const { routeTransitionName } = storeToRefs (routeTransitionNameStore )
711 </script >
812
913<template >
1014 <VanConfigProvider :theme =" theme" >
1115 <router-view v-slot =" { Component, route }" >
12- <transition :name =" useRouteTransitionNameHook(). routeTransitionName" >
16+ <transition :name =" routeTransitionName" >
1317 <div :key =" route.name" class =" app-wrapper" >
1418 <component :is =" Component" />
1519 </div >
Original file line number Diff line number Diff line change 11import { createApp } from 'vue'
2- import { createPinia } from 'pinia'
3- import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
42import App from '@/App.vue'
53import router from '@/router'
4+ import pinia from '@/stores'
65
76import 'virtual:uno.css'
87
@@ -23,8 +22,6 @@ import 'vant/es/notify/style'
2322import 'vant/es/image-preview/style'
2423
2524const app = createApp ( App )
26- const pinia = createPinia ( )
27- pinia . use ( piniaPluginPersistedstate )
2825
2926app . use ( router )
3027app . use ( pinia )
Original file line number Diff line number Diff line change 11import { createRouter , createWebHistory } from 'vue-router/auto'
22import NProgress from 'nprogress'
33
4- import { useRouteTransitionNameHook } from '@/stores/modules/routeTransitionName'
4+ import useRouteTransitionNameStore from '@/stores/modules/routeTransitionName'
55import 'nprogress/nprogress.css'
66
77NProgress . configure ( { showSpinner : true , parent : '#app' } )
8+
89const router = createRouter ( {
910 history : createWebHistory ( import . meta. env . VITE_APP_PUBLIC_PATH ) ,
1011} )
1112
1213router . beforeEach ( ( to , from , next ) => {
1314 NProgress . start ( )
14- const hook = useRouteTransitionNameHook ( )
15+
16+ const routeTransitionNameStore = useRouteTransitionNameStore ( )
1517 if ( to . meta . level > from . meta . level )
16- hook . setName ( 'slide-fadein-left' ) // 进入动画
18+ routeTransitionNameStore . setName ( 'slide-fadein-left' )
1719
1820 else if ( to . meta . level < from . meta . level )
19- hook . setName ( 'slide-fadein-right' ) // 返回动画
21+ routeTransitionNameStore . setName ( 'slide-fadein-right' )
2022
2123 else
22- hook . setName ( '' ) // 没有动画
24+ routeTransitionNameStore . setName ( '' )
2325
2426 next ( )
2527} )
@@ -28,5 +30,4 @@ router.afterEach(() => {
2830 NProgress . done ( )
2931} )
3032
31- // 导出路由实例,并在 `main.ts` 挂载
3233export default router
Original file line number Diff line number Diff line change 11import { createPinia } from 'pinia'
2+ import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
23
3- const store = createPinia ( )
4- export { store }
4+ const pinia = createPinia ( )
5+ pinia . use ( piniaPluginPersistedstate )
6+
7+ export default pinia
Original file line number Diff line number Diff line change 11import { defineStore } from 'pinia'
2- import { store } from '@/stores'
32
4- export const useRouteTransitionNameStore = defineStore ( {
5- id : 'route-transition-name' ,
6- state : ( ) => ( {
7- // 过渡动画名称
8- routeTransitionName : '' ,
9- } ) ,
10- actions : {
11- setName ( name : string ) {
12- this . routeTransitionName = name
13- } ,
14- } ,
3+ const useRouteTransitionNameStore = defineStore ( 'route-transition-name' , ( ) => {
4+ const routeTransitionName = ref ( '' )
5+
6+ const setName = ( name : string ) => {
7+ routeTransitionName . value = name
8+ }
9+
10+ return {
11+ routeTransitionName,
12+ setName ,
13+ }
1514} )
1615
17- export function useRouteTransitionNameHook ( ) {
18- return useRouteTransitionNameStore ( store )
19- }
16+ export default useRouteTransitionNameStore
You can’t perform that action at this time.
0 commit comments