首頁  >  問答  >  主體

無法將路由指派給 vue.js 中的彈出對話框

<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粉786800174P粉786800174409 天前585

全部回覆(1)我來回復

  • P粉790187507

    P粉7901875072023-09-06 11:04:39

    您應該在某些方法內處理重定向,例如:

    <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>

    回覆
    0
  • 取消回覆