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 マスタースレーブ設定と非同期の問題の詳細な説明

推薦する

純粋な CSS でフォ​​ーム検証を実装するためのサンプル コード

日常業務において、フォームの検証は非常に一般的な設計要件です。ログイン ボックスや登録ボックス、アン...

Vueのスロットの詳細な説明

Vue でのコードの再利用により、mixnis が提供されます。テンプレートの再利用により、スロット...

MYSQL8.0.13 無料インストール版 設定チュートリアル例 詳細説明

1. ダウンロード、例として8.0を取り上げますダウンロードアドレス: https://dev.my...

Dockerモードで起動したTomcatのホームページにアクセスすると404エラーが発生する

シナリオ: docker で tomcat を起動すると (Alibaba Cloud からダウンロ...

Vue で v-if と v-for を一緒に使用することが推奨されない理由の詳細な説明

この記事では主に、v-if と v-for を一緒に使用することが推奨されない理由を紹介します。詳細...

JavaScript の基礎: エラーキャプチャメカニズム

目次序文エラーオブジェクト投げる試して…捕まえて…最後に最終ルールトライ/キャッチパフォーマンスウィ...

クラウドネイティブテクノロジー Kubernetes (K8S) の紹介

目次01 Kubernetes とは何ですか? 02 KubernetesとCompost+Swar...

NginxにおけるRewriteのリダイレクト設定と実践の詳しい解説

1: アドレス書き換えとア​​ドレス転送の意味を理解する。アドレス書き換えとア​​ドレス転送は異なる...

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...

データベース管理に役立つ 5 つの MySQL GUI ツール

MySQL には多くのデータベース管理ツールがあります。作業効率の向上に役立つ優れた GUI ツール...

2列の水平タイムラインを実装するためのVueサンプルコード

目次1.コンポーネントtimelineH.vueを実装する2. コンポーネントの呼び出しこの記事では...

docker-compose.yml ファイル内の一般的なテンプレート コマンドの詳細な説明

注意: docker-compose.yml ファイルを書き込むときは、すべてのコロン (:) とダ...

CSS scroll-snap スクロールイベント停止と要素位置検出の実装

1. スクロールスナップはフロントエンド開発者にとって必須のスキルですCSS スクロール スナップは...

主軸上のFlex子要素の比率を制御する方法

背景フレックス レイアウトにより、配置とスペースの割り当てがより効果的に実現されます。最近、flex...

MySQL Innodb ストレージ構造と Null 値の保存の詳細な説明

背景:テーブルスペース: すべての INNODB データはテーブルスペース (共有テーブルスペース)...