簡體   English   中英

Nuxt.js:如何重定向內部方法

[英]Nuxt.js: how to redirect inside methods

我正在學習 Nuxt.js,我對通過單擊觸發的方法簡單地將用戶重定向到另一個頁面似乎有多么困難感到困惑。

這是設置:我正在使用 Nuxt Auth 對用戶進行身份驗證,一旦通過身份驗證,我希望他們從注冊頁面轉發到另一個路由。 我已經設置了重定向登錄用戶的中間件,但它僅在我刷新頁面時觸發,而不是在我第一次登錄時觸發。

我有這樣的方法:

async login(event) {
   event.preventDefault()
   try {
      await this.$auth.loginWith('local', this.loginData)
      // this is where my redirect logic should go
   } catch(error) { ... }
}

到目前為止,我已經嘗試使用this.$nuxt.refresh() ,它根本不做任何事情,我也嘗試過this.$router.push('/route') ,它似乎完全掛起頁面。 理想情況下,我更喜歡refresh方法,這樣我就不必為多個地方的登錄用戶指定登錄頁面,但我還需要知道如何在方法中使用重定向,我認為它應該是最簡單的操作可以想象,但似乎很難找到。

任何提示將不勝感激!

更新:

我找到了一個解決方案,雖然它不是一個理想的解決方案。 我在beforeCreate中添加了一個 if 語句來檢查this.$auth.loggedIn ,如果它是真的,那么當在nuxt.config.js下定義“home”時,它會調用this.$auth.redirect('home')授權重定向。 這個解決方案不理想的原因是它依賴於 auth 模塊(而不是一般的重定向機制)。

Nuxt 中有一種方法可以像這樣重新加載頁面:

this.$router.go(0)

你也可以在這里找到更多信息

如果 this.$router 不工作試試這個

this.$nuxt.$options.router.push(url);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM