ホームページ  >  に質問  >  本文

NUXT 3: レイアウトでルーティング ミドルウェアを使用するにはどうすればよいですか? (してもいいですか?)

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

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

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

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

リーリー



ミドルウェア | adminAuth.ts

リーリー


P粉619896145P粉619896145380日前756

全員に返信(2)返信します

  • P粉609866533

    P粉6098665332023-10-27 11:44:26

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

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

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

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

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

    返事
    0
  • P粉478445671

    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

    返事
    0
  • キャンセル返事