我正在尝试将路由分配给我使用 vue.js 中的对话框组件制作的自定义弹出窗口,但在使其工作时遇到了一些麻烦。我已经搞砸了很多,老实说,我对如何完成这项工作感到很困惑。这是我的路线文件:
routes: [
{
path: "/",
name: "landing",
component: LandingView,
children: [
{
path: "/register",
component: RegistrationForm,
},
],
},
我有一个登陆页面,在该登陆页面内,我正在使用 RegistrationForm 组件,该组件包含在我制作的自定义对话框组件内,如下所示:
<teleport to="body">
<dialog-modal v-if="isOpenRegister" @close="isOpenRegister = false">
<RegistrationForm
@open-login="(isOpenRegister = false), (isOpenLogin = true)"
@close-dialog="isOpenRegister = false"
/>
</dialog-modal>
</teleport>
我只想在用户单击该弹出窗口时为其分配一条路由。因此,当用户单击注册按钮并激活弹出窗口时,我希望它是 http://localhost:5173/register,而不是现在没有路由,因为它只是 http://localhost:5173。如果这是一个令人困惑的问题,我很抱歉,请尽力解释它,提前致谢!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您应该在某些方法内处理重定向,例如:
<teleport to="body"> <dialog-modal v-if="isOpenRegister" @close="isOpenRegister = false"> <RegistrationForm @open-login="openRegister" @close-dialog="isOpenRegister = false" /> </dialog-modal> </teleport> <script> methods: { openRegister() { this.$router.push({ path: '/register' }) // other method logic } } </script>