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