Nuxt ミドルウェアをレイアウトに使用したいと考えています。ただし、可能かどうかはわかりませんが、Nuxt 2 で使用したので、Nuxt 3 では可能になるかもしれません。
プロジェクトには、Public.vue
と Admin.vue
という 2 つの異なるレイアウトがあります。 Manage Layout を使用するページでのみミドルウェアを使用したいと考えています。これを使用するページにはログインしたユーザーのみがアクセスでき、チェックはミドルウェア内で行われるためです。
これを試してみました (うまくいきません):
レイアウトの管理|Manage.vue
リーリーミドルウェア | adminAuth.ts
リーリー
ミドルウェアはページ内でのみ使用できるため、レイアウトでは使用できませんが、この方法を試すことができます。
ミドルウェア ファイル名の後に
.global
サフィックスを宣言して、グローバル ミドルウェアを作成します (auth.global.ts
など)。#auth.global.ts
サンプルロジックは次のとおりですファイルでは、レイアウト メタをロジックとして使用して、あたかもミドルウェアがレイアウト設定にあるかのようにシミュレートできます。
リーリー ###お役に立てれば###
###あなたはできません。ミドルウェアはページ上でのみ機能します。
NuxtPage
コンポーネントを使用して、親ページ コンポーネントを作成します。
Nested Routing の詳細については、Nuxt 3 のドキュメントを参照してください。 ###例:###/pages/admin.vue
(ルート =>/admin) リーリー /pages/admin
(フォルダ)admin/order.vue ルーティング => /admin/orders
admin/page.vue ルート => /admin/some-route