路由.js
const routes = [
{
path: "/",
component: Home,
meta: {
title: 'Home'
}
},
{
path : "/register",
component: Register,
meta: {
title: 'Register'
}
},
];
const router = createRouter({
history: createWebHistory(),
routes,
});
应用程序.vue
<template>
<router-link to="home">Home</router-link>
<router-link to="register">Register</router-link>
<router-view v-slot="{ Component }">
<transition name='fade' mode="out-in">
<component :is="Component"></component>
</transition>
</router-view>
</template>
当我访问 /home 并单击“注册”时 -它可以工作。但是一旦我尝试回到主页,它显然正在加载组件,但它是空白的。
从那时起,在路由之间切换显然会切换组件,但在我刷新任何页面之前,一切都保持空白 - 然后它会显示出来。
当我从中删除转换时,router-view
它开始工作。
随着过渡,唯一有效的开关是从 Home 到 Register。然后任何开关只会将页面变为空白。
我已经尝试过$router.push
, router-link
, $router.back()
- 所有相同的结果。
编辑:我发现不仅删除整个过渡修复它,而且从更改out-in
为in-out
. 我的设计看起来不太好,但它显示的组件很好。