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

推薦する

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

CSS レスポンシブ レイアウト システムの例コード

レスポンシブ レイアウト システムは、今日の一般的な CSS フレームワークではすでに非常に一般的で...

elementui の el-popover スタイルの変更が有効にならない問題の解決策

element-uiを使用する場合、el-popoverというよく使われるコンポーネントがありますが...

Apache SkyWalkingのセルフモニタリングを素早く有効にする方法を説明します

1. Prometheusテレメトリデータを有効にするデフォルトでは、テレメトリは次のように無効にな...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

MySQL 5.7のワンクリックインストールとパスワードポリシーの変更方法

1.Mysqlスクリプトのワンクリックインストール [root@uat01 ~]# cat Inst...

ウェブページの背景色を制御する CSS コード

誰もが自分の Web ページの背景にふさわしい画像を見つけることに悩むことが多いと思います。これは事...

HTM と HTML の違いは何ですか? HTM と HTML の違いは何ですか?

Web デザインを学習する過程で、html と htm の関係など、遭遇した多くの問題について深く...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

Centos で MySQL パスワードを変更する方法

1. MySQL ログイン設定を変更します。 # vim /etc/my.cnf文を追加: skip...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...

JavaScript における継承の 3 つの方法

継承する1. 継承とは何か継承: まず、継承とは関係、つまりクラス間の関係です。JS にはクラスはあ...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

MySQL 8.0.22 winx64 のインストールと設定のグラフィックチュートリアル

mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...

クリック範囲を拡大する入力チェックボックスを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー< div style = &quo...