検索
ホームページウェブフロントエンドVue.jsVue ルーティング ガードにはどのような種類がありますか?

vue ルーティング ガードには 3 つのタイプがあります: 1. グローバル ガード "router.beforeEach"; 2. コンポーネント内のガード "beforeRouteEnter"; 3. ルート専用ガード "beforeEnter"。

Vue ルーティング ガードにはどのような種類がありますか?

Vue には、グローバル ルーティング ガード、コンポーネント内ルーティング ガード、およびルート排他的ガードの 3 種類のルーティング ガードがあります。

いわゆる巡回警備員は、簡単に言うと家の玄関の警備員です。家に入りたい場合は、セキュリティ検査に合格しなければなりません。巡回警備員に自分の居場所を伝えなければなりません。から来る?知らない人を勝手に入れてはいけないのですか?どこへ行く?そして警備員は次に何をすべきかを指示しますか?家の所有者が本当に立ち入りを許可している人であれば、立ち入りが許可されますが、そうでない場合は、家の所有者に電話し、所有者と話し合って(ログインして登録し)、許可を得る必要があります。許可。

 // 通过这个匹配判断是否有该权限或要求,这个一般作为页面权限设置,比如哪些页面需要登录才能进入,哪些不需要
to.matched.some(res => res.meta.requireAuth)

1. グローバル ガード

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

2. コールバック関数のパラメータ、 to: どのルートに入るか、from: どのルートから出るか、next: 見たいルーティングページを表示するかどうかを決定する関数。

3. 次の例を見てみましょう: main.js にグローバル ガードを設定します

  • main.js には、ルーティング インスタンス化オブジェクト ルーターがあります。 main.js でのガードの設定は、すでにグローバル ガードになっています。
  • 以下のように、to.path が現在入っているパスがログインか登録かを判断し、登録の場合は next() を実行して現在のインターフェースを表示します。そうでない場合は、アラートがポップアップ表示され、ログイン インターフェイスに移動します。
  • ユーザーがログインしていないときは、常にログイン インターフェイスが表示されます。
router.beforeEach((to,from,next)=>{
  if(to.path == '/login' || to.path == '/register'){
    next();
  }else{
    alert('您还没有登录,请先登录');
    next('/login');
  }
})

4. グローバル ポストフック router.afterEach((to,from)=>{})

  • には 2 つのパラメータしかありません。行くルートを入力します。出発地: どのルートから出発しますか。
  • 以下のように、ルートを切り替えるたびにアラートが表示され、[OK]をクリックすると現在のページが表示されます。
router.afterEach((to,from)=>{
  alert("after each");
})

5. store.gettes.isLogin === false がログインしているかどうかを確認します

2. コンポーネントのガード

1. このコンポーネントに到達したとき、beforeRouteEnter :(to,from,next)=>{}

  • Admin.vue ファイルで、クリックして管理ルートに移動するときに、beforeRouteEnter 関数
  • を実行します。 to、fromパラメータは上記と同じ使用方法です。次のコールバック関数は少し異なります。
  • 次の例に示すように、データ コンポーネントのガードには特別な状況があります。
    beforeRouteEnter:(to,from,next)=>{alert(" を直接使用する場合hello" this.name); }管理ページにアクセスすると、アラートに hello unnamed が出力されることがわかります。これは、現在データ属性にアクセスできず、宣言サイクルに関連して実行順序が一貫していないためです。実行が完了するまで、データ データはレンダリングされていません。したがって、ここで next() は、完了を支援するために対応するコールバックを提供します。
<script>
export default {
    data(){
        return{
            name:"Arya"
        }
    },
    beforeRouteEnter:(to,from,next)=>{
        next(vm=>{
            alert("hello" + vm.name);
        })
    }
}
</script>

Vue ルーティング ガードにはどのような種類がありますか?

2. このコンポーネントを離れるときは、beforeRouteLeave:(to,from,next)=>{}

  • Click他のコンポーネントを使用する場合、出発を確認するかどうかを決定します。 next() の実行を確認し、next(false) の実行をキャンセルして現在のページに留まります。
beforeRouteLeave:(to,from,next)=>{
        if(confirm("确定离开此页面吗?") == true){
            next();
        }else{
            next(false);
        }
    }

3. ルート限定ガード

1. beforeEnter:(to,from,next)=>{}、使用法はグローバル ガードと一致します。これをルーティング オブジェクトの 1 つに書き込むだけで、このルートでのみ機能します。

Vue ルーティング ガードにはどのような種類がありますか?

関連する推奨事項:

2020 年のフロントエンド Vue インタビューの質問の概要 (回答付き)

Vue チュートリアルの推奨事項: 2020 年の最新の 5 つの vue.js ビデオ チュートリアル セレクション

プログラミング関連の知識については、こちらをご覧ください: プログラミング学習コース ###! !

以上がVue ルーティング ガードにはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
vue.js vs.バックエンドフレームワーク:区別を明確にしますvue.js vs.バックエンドフレームワーク:区別を明確にしますApr 25, 2025 am 12:05 AM

Vue.jsはフロントエンドフレームワークであり、バックエンドフレームワークはサーバー側のロジックを処理するために使用されます。 1)VUE.JSは、ユーザーインターフェイスの構築に焦点を当て、コンポーネントおよびレスポンシブデータバインディングを介して開発を簡素化します。 2)ExpressやDjangoなどのバックエンドフレームワークは、HTTPリクエスト、データベース操作、ビジネスロジックを処理し、サーバーで実行します。

vue.jsとフロントエンドスタック:接続の理解vue.jsとフロントエンドスタック:接続の理解Apr 24, 2025 am 12:19 AM

VUE.JSは、開発効率とユーザーエクスペリエンスを向上させるために、フロントエンドテクノロジースタックと密接に統合されています。 1)建設ツール:Webpackおよびロールアップと統合して、モジュール開発を実現します。 2)国家管理:VUEXと統合して、複雑なアプリケーションステータスを管理します。 3)ルーティング:Vuerouterと統合して、単一ページのアプリケーションルーティングを実現します。 4)CSSプリプロセッサ:SASSをサポートし、スタイル開発効率を改善するために少なくなります。

Netflix:React(またはその他のフレームワーク)の使用の調査Netflix:React(またはその他のフレームワーク)の使用の調査Apr 23, 2025 am 12:02 AM

Netflixは、Reactのコンポーネント設計と仮想DOMメカニズムが複雑なインターフェイスと頻繁な更新を効率的に処理できるため、ユーザーインターフェイスを構築するためにReactを選択しました。 1)コンポーネントベースの設計により、Netflixはインターフェイスを管理可能なウィジェットに分解し、開発効率とコード保守性を向上させることができます。 2)仮想DOMメカニズムは、DOM操作を最小化することにより、Netflixユーザーインターフェイスの滑らかさと高性能を保証します。

vue.jsとフロントエンド:フレームワークに深く飛び込むvue.jsとフロントエンド:フレームワークに深く飛び込むApr 22, 2025 am 12:04 AM

Vue.jsは、使いやすく強力なため、開発者に愛されています。 1)そのレスポンシブデータバインディングシステムは、ビューを自動的に更新します。 2)コンポーネントシステムは、コードの再利用性と保守性を向上させます。 3)コンピューティングプロパティとリスナーは、コードの読みやすさとパフォーマンスを向上させます。 4)Vuedevtoolsの使用とコンソールエラーのチェックは、一般的なデバッグ手法です。 5)パフォーマンスの最適化には、主要な属性、計算された属性、およびキープアライブコンポーネントの使用が含まれます。 6)ベストプラクティスには、クリアコンポーネントの命名、単一ファイルコンポーネントの使用、ライフサイクルフックの合理的な使用が含まれます。

フロントエンドのvue.jsの力:主要な機能と利点フロントエンドのvue.jsの力:主要な機能と利点Apr 21, 2025 am 12:07 AM

Vue.jsは、効率的で保守可能なフロントエンドアプリケーションを構築するのに適した進歩的なJavaScriptフレームワークです。その主な機能には、1。レスポンシブデータバインディング、2。コンポーネント開発、3。仮想DOM。これらの機能を通じて、VUE.JSは開発プロセスを簡素化し、アプリケーションのパフォーマンスと保守性を向上させ、最新のWeb開発で非常に人気を博しています。

Vue.jsはReactよりも優れていますか?Vue.jsはReactよりも優れていますか?Apr 20, 2025 am 12:05 AM

Vue.jsとReactにはそれぞれ独自の利点と欠点があり、選択はプロジェクトの要件とチームの条件に依存します。 1)Vue.jsは、シンプルで使いやすいため、小さなプロジェクトや初心者に適しています。 2)Reactは、その豊富な生態系とコンポーネント設計のため、大規模なプロジェクトと複雑なUIに適しています。

Vue.jsの関数:フロントエンドでのユーザーエクスペリエンスの強化Vue.jsの関数:フロントエンドでのユーザーエクスペリエンスの強化Apr 19, 2025 am 12:13 AM

Vue.jsは複数の機能を介してユーザーエクスペリエンスを改善します。1。レスポンシブシステムは、リアルタイムデータフィードバックを実現します。 2。コンポーネント開発により、コードの再利用性が向上します。 3. Vuerouterはスムーズなナビゲーションを提供します。 4.動的データの結合および遷移アニメーションは、相互作用効果を強化します。 5.エラー処理メカニズムにより、ユーザーのフィードバックが保証されます。 6.パフォーマンスの最適化とベストプラクティスは、アプリケーションのパフォーマンスを改善します。

Vue.js:Web開発におけるその役割を定義しますVue.js:Web開発におけるその役割を定義しますApr 18, 2025 am 12:07 AM

Web開発におけるVue.jsの役割は、開発プロセスを簡素化し、効率を向上させるプログレッシブJavaScriptフレームワークとして機能することです。 1)開発者は、レスポンシブデータのバインディングとコンポーネント開発を通じてビジネスロジックに集中できるようになります。 2)VUE.JSの作業原則は、パフォーマンスを最適化するためにレスポンシブシステムと仮想DOMに依存しています。 3)実際のプロジェクトでは、VUEXを使用してグローバルな状態を管理し、データの応答性を最適化することが一般的な慣行です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません