无法将路由分配给 vue.js 中的弹出对话框
P粉786800174
P粉786800174 2023-09-05 23:14:08
0
1
613
<p>我正在尝试将路由分配给我使用 vue.js 中的对话框组件制作的自定义弹出窗口,但在使其工作时遇到了一些麻烦。我已经搞砸了很多,老实说,我对如何完成这项工作感到很困惑。这是我的路线文件:</p> <pre class="brush:php;toolbar:false;">routes: [ { path: "/", name: "landing", component: LandingView, children: [ { path: "/register", component: RegistrationForm, }, ], },</pre> <p>我有一个登陆页面,在该登陆页面内,我正在使用 RegistrationForm 组件,该组件包含在我制作的自定义对话框组件内,如下所示:</p> <pre class="brush:php;toolbar:false;"><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></pre> <p>我只想在用户单击该弹出窗口时为其分配一条路由。因此,当用户单击注册按钮并激活弹出窗口时,我希望它是 http://localhost:5173/register,而不是现在没有路由,因为它只是 http://localhost:5173。如果这是一个令人困惑的问题,我很抱歉,请尽力解释它,提前致谢!</p>
P粉786800174
P粉786800174

全部回复(1)
P粉790187507

您应该在某些方法内处理重定向,例如:

<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>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板