次のルート定義を使用する vue3 ルーターがあります
リーリーログインしている場合、特定のアカウントのみが /cms
パスにアクセスできる Google 認証ログイン機能を実装しようとしています。ストアには loggedIn というブール値があり、コンポーネント内で true に切り替わります。写真のように
ルーターでは、ユーザーの出身地と特定のユーザーがログインしているかどうかに基づいて、どのページにルーティングするかを確認する beforeEach アクションを実行しています (図を参照)。
リーリー 正しいユーザーがログインしている場合を除いて、すべて問題ないようです。キャッチされない (約束) エラー: ナビゲーション ガードで無限リダイレクトがスローされ、ページは /cms
にリダイレクトされず、 /login
ページに留まることが選択されました。
P粉1658237832023-12-30 00:39:57
cms
がすでに現在のルートであるときに next({ name: "cms" })
を実行するとエラーになります。 next()
である必要がありますが、else if
は冗長になります: