Vueルータールーティングガードの詳細な説明

Vueルータールーティングガードの詳細な説明

1. グローバル beforeEach

ローカルストレージに保存されている名前がzhangsanの場合、メッセージの内容はメッセージがクリックされたときにのみ表示されます。

1. グローバル beforeEach

ルーターにルーティングガードを追加する

文法:

router.beforeEach((to, from, next)=>{})

機能: 初期化中および各ルートスイッチの前にbeforeEachで関数を呼び出す

パラメータ:

1.to: ターゲットルート

2.from: ジャンプ前のルート

3.次へ: リリース

2. 実装

2. 要件2

ジャンプする前に判断する必要があるパスが多数ある場合、多くの判断コードを記述する必要があり、判断構造が非常に複雑になります。

このとき、判定が必要なルートにメタタグを入れることができます。

メタタグはHTML文書に関するメタデータを提供します(メタデータとは、データを説明するために使用されるデータのことです)

この時点で、メタのタグフィールドを使用して判断することができます

3. グローバルポストガード afterEach

afterEach と beforeEach の使い方は基本的に同じです。

違いは、afterEachにはnextパラメータがないことです。

1. タイトルを自分のタイトルに変更する

各ルートに独自のタイトル名を割り当てる

const ルーター = 新しい VueRouter({
  ルート: [
    {
      名前: 'ホーム',
      パス: '/home',
      コンポーネント: ホーム、
      メタ: {
        タイトル: 「ホーム」
      },
      子供たち: [ 
        {
          名前: "xiaoxi",
          パス: 'メッセージ',
          コンポーネント: メッセージ、
          メタ: {
            タイトル: 「ニュース」
          },
          子供たち: [
            {
              名前: 'xiangqing',
              パス: '詳細',
              コンポーネント: 詳細、
              メタ: {
                isAuth: 真、
                タイトル: 「メッセージの詳細」
              }
            }
          ]
        }
      ]
    },
    {
      パス: '/about',
      コンポーネント: について、
      メタ: {
        タイトル: 「概要」
      }
    }
  ]
})

beforeEachのタイトル名を変更する

router.afterEach((to, from) => {
  document.title = to.meta.title || "テスト"
})

4. コンポーネント内の保護

1. ルートに入る前

ルーティングルールを通じてこのコンポーネントに入るときに呼び出されます

2. ルートを離れる前に

ルーティングルールを通じてコン​​ポーネントを離れるときに呼び出されます

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue でのルーティングガードの具体的な使用法
  • Vue2.0はナビゲーションガード(ルートガード)を実装します
  • Vue のフック機能 (ルートナビゲーションガード、キープアライブ、ライフサイクルフック) の詳細な説明
  • Vue のルーティングガードとキープアライブライフサイクルの詳細な説明

<<:  CSSアニメーションを途中で止めて姿勢を維持する方法

>>:  mysql5.6 マスタースレーブ設定と非同期の問題の詳細な説明

推薦する

vue3を使用してAppleシステムのサイドメッセージプロンプト効果を模倣する

目次アニメーションプレビューその他のUIライブラリ始めるコンポーネントディレクトリ構造トーストおおよ...

便利でシンプルなMySQL関数10個

関数0. 現在の時刻を表示するコマンド: select now()。機能: 現在の時刻を表示します。...

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

MySQL の分離レベルの包括的な分析

データベースが同じデータ バッチを同時に追加、削除、および変更すると、ダーティ書き込み、ダーティ読み...

Node.js のイベント モジュールに関する知識ポイントのまとめ

Node の研究と応用を通じて、NodeJS はシングルスレッド、イベント駆動型、非ブロッキング I...

Vue3.0はチェックボックスコンポーネントのカプセル化を実装します

この記事では、チェックボックスコンポーネントのカプセル化を実装するためのvue3.0の具体的なコード...

MySQL テーブルスペースのリカバリに対する正しいアプローチについての簡単な説明

目次予備的注釈問題の再現データ削除の原則データの再利用どの操作がデータホールの原因になりますか?表領...

HTML テーブル タグ チュートリアル (36): テーブル ヘッダーの背景色属性 BGCOLOR

<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...

MySql SQL最適化のヒントの共有

ある日、内部結合を含む SQL ステートメントの実行速度はそれほど遅くはない (0.1 ~ 0.2)...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...

MySQL および Oracle のバッチ挿入 SQL の一般的な記述例

目次例えば:一般的な執筆:要約する例えば:次に、データベースのUSERテーブルにUserオブジェクト...

ウェブフロントエンドに対する一般的な攻撃とその防止方法

ウェブサイトのフロントエンド開発で発生するセキュリティ問題は、クライアントブラウザで実行されるコード...