Vue のルータールーティングの 2 つのモード (ハッシュと履歴) の詳細な説明

Vue のルータールーティングの 2 つのモード (ハッシュと履歴) の詳細な説明

ハッシュモード(デフォルト)

動作原理:ウェブページのハッシュ値の変化を監視する—> onhashchange イベント、location.hash を取得

URL のハッシュを使用して完全な URL をシミュレートし、URL が変更されてもページが再読み込みされないようにします。

これにより、ユーザーは Web ページがリダイレクトされたように感じますが、実際にはリダイレクトされていません。

主にシングルページアプリケーション(SPA)で使用される

//シミュレーション原理//ページハッシュ値の変更を監視する window.onhashchange = function(){
	// 現在の URL のハッシュ値を取得します。const _hash = location.hash
	// ハッシュ値に応じて異なるコンテンツを表示する switch(_hash) {
	     ケース '/#a':
	        document.querySelector('#app').innerHTML = '<h1>私はページ 1 のコンテンツです</h1>'
	        壊す;
	     ケース '/#b':
	        document.querySelector('#app').innerHTML = '<h1>私はページ 2 のコンテンツです</h1>'
	        壊す;
	     ケース '/#c':
	        document.querySelector('#app').innerHTML = '<h1>私はページ 3 のコンテンツです</h1>'
	        壊す;
	} 
}

履歴モード

動作原理:主に使用ページを更新せずに URL を変更するには、history.pushState() API を使用します。

実際には、ページを更新せずに URL を変更できるモードが 5 つあります。

履歴.pushState()

履歴.replaceState()

履歴.go()

history.back() --> history.go(-1) と同等

history.forward() --> history.go(1) と同等

バックエンド構成のサポートが必要です。存在しない URL を入力した場合は、バックエンド構成を「バックアップ構成」として使用する必要があります。404 を返す代わりに、ホームページに戻ります。

履歴モードを有効にする

const ルーター = 新しい VueRouter({
  モード: '履歴'、
  ルート: [...]
})

上記は、Vue のルータールーティングの 2 つのモード、ハッシュと履歴の詳細な内容です。Vue のルータールーティングモードの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue-router ネストルーティングの詳細な説明
  • vue.js ルーターのネストされたルート
  • Vueルーティングルーターの詳細な説明
  • vue ルーティング ビュー router-view のネストされたジャンプの実装
  • VueRouterルーティングの詳細な説明
  • Vueルータールーティングの詳細な説明

<<:  MySQL のロックとトランザクションの簡単な分析

>>:  MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

推薦する

簡単な手順で純粋な CSS3 で 3D 反転効果を実現

フロントエンド開発者の必須科目であるCSS3は、多くの基本的なアニメーション効果を実現するのに役立ち...

MySQLインデックスを追加する3つの原則を簡単に理解する

1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...

Docker 実行時にユーザーとグループを管理する方法

Docker はプロセスを中核としてシステムリソースを分離する管理ツールです。分離は、オペレーティン...

優れたウェブフロントエンドデザインの指標

Web ページのアクセシビリティは、フロントエンドでのみ評価および実装できるもののようです。ユーザビ...

はじめに: HTML の基本的なタグと属性の簡単な紹介

HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...

HTMLページが3秒後に自動的にジャンプする3つの一般的な方法

実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...

docker リモート API のワンクリック TLS 暗号化の実装

目次1. Docker の 2375 ポートを別のポートに変更します。これは一時的な対策にすぎません...

MySQLの基本を素早く学ぶ

目次SQLを理解するSELECTを理解するエイリアス定数をクエリし、固定定数列を追加します。重複行を...

MySQLデータベースインデックスの左端一致原則

目次1. 共同インデックスの説明2. ac はインデックスを使用できますか? 3. 考える4. 最左...

Vue での props の使い方の紹介

序文: Vue では、props を使用して、もともと分離されていたコンポーネントを直列に接続するこ...

Ckeditor + Ckfinderを使用したJavaScriptファイルアップロードケースの詳細な説明

目次1. 準備2. 減圧3. 統合を開始する1. 準備Ckeditor_4.5.7_full + C...

MySQLオンラインデッドロック分析練習

序文MySQL を学習する際に、MySQL のロック メカニズムについて簡単に理解したことがあると思...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

Dockerは起動されていないコンテナの設定情報を変更します

私が初めてdockerを使用したときは、dockerfileやdocker-composeを使用して...