NUXT 3: レイアウトでルーティング ミドルウェアを使用するにはどうすればよいですか? (してもいいですか?)
P粉619896145
P粉619896145 2023-10-26 12:57:37
0
2
767

Nuxt ミドルウェアをレイアウトに使用したいと考えています。ただし、可能かどうかはわかりませんが、Nuxt 2 で使用したので、Nuxt 3 では可能になるかもしれません。

プロジェクトには、Public.vueAdmin.vue という 2 つの異なるレイアウトがあります。 Manage Layout を使用するページでのみミドルウェアを使用したいと考えています。これを使用するページにはログインしたユーザーのみがアクセスでき、チェックはミドルウェア内で行われるためです。

これを試してみました (うまくいきません):

レイアウトの管理|Manage.vue

リーリー



ミドルウェア | adminAuth.ts

リーリー


P粉619896145
P粉619896145

全員に返信(2)
P粉609866533

ミドルウェアはページ内でのみ使用できるため、レイアウトでは使用できませんが、この方法を試すことができます。

ミドルウェア ファイル名の後に .global サフィックスを宣言して、グローバル ミドルウェアを作成します (auth.global.ts など)。

#auth.global.ts ファイルでは、レイアウト メタをロジックとして使用して、あたかもミドルウェアがレイアウト設定にあるかのようにシミュレートできます。

サンプルロジックは次のとおりです

リーリー ###お役に立てれば###

いいねを押す +0
P粉478445671

###あなたはできません。ミドルウェアはページ上でのみ機能します。

代わりに、認証ミドルウェアとテンプレート内の

NuxtPage コンポーネントを使用して、親ページ コンポーネントを作成します。 Nested Routing の詳細については、Nuxt 3 のドキュメントを参照してください。 ###例:###

/pages/admin.vue

(ルート =>

/admin) リーリー /pages/admin

(フォルダ)

admin/order.vue ルーティング => /admin/orders

admin/page.vue ルート => /admin/some-route

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