ナビゲーション ガードで無限リダイレクト エラーが発生しました: Uncaught (promise)
P粉291886842
P粉291886842 2023-12-29 09:53:57
0
1
387

次のルート定義を使用する vue3 ルーターがあります

リーリー

ログインしている場合、特定のアカウントのみが /cms パスにアクセスできる Google 認証ログイン機能を実装しようとしています。ストアには loggedIn というブール値があり、コンポーネント内で true に切り替わります。写真のように

リーリー

ルーターでは、ユーザーの出身地と特定のユーザーがログインしているかどうかに基づいて、どのページにルーティングするかを確認する beforeEach アクションを実行しています (図を参照)。

リーリー

正しいユーザーがログインしている場合を除いて、すべて問題ないようです。キャッチされない (約束) エラー: ナビゲーション ガードで無限リダイレクトがスローされ、ページは /cms にリダイレクトされず、 /login ページに留まることが選択されました。

P粉291886842
P粉291886842

全員に返信(1)
P粉165823783

cms がすでに現在のルートであるときに next({ name: "cms" }) を実行するとエラーになります。 next() である必要がありますが、else if は冗長になります:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート