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