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 つの方法について簡単に説明します。

推薦する

MySQL 30軍事ルールの詳細な説明

1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...

MySql データベース クエリの特殊コマンド

まずMySQLのインストールMySQLソフトウェアをダウンロードし、インストールパスを変更しますMy...

React Hooksの詳細な説明

目次フックとは何ですか?クラスコンポーネント機能コンポーネントフックが作られた理由要約するフックとは...

Nginxはリバースプロキシを使用して負荷分散プロセス分析を実装します

導入dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基...

MySQL の主キーとトランザクションの詳細な説明

目次1. MySQLの主キーとテーブルフィールドに関するコメント1. 主キーと自動増分2. テーブル...

Linux で FastDFS ファイル サーバーを構築するための実装手順

目次1. ソフトウェアパッケージ2. gccをインストールする3. libfastcommonをイン...

HTML の blockquote タグの使用と美化

ブロック引用の定義と使用法<blockquote> タグは引用ブロックを定義します。 &...

Vue echarts は水平棒グラフを実現します

この記事では、水平棒グラフを実現するためのvue echartsの具体的なコードを参考までに共有しま...

MySQL に接続する際に Navicat for MySQL が 2005 エラーを報告する問題を解決する

前回の記事では、Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

MySQL レプリケーション メカニズムの原理の説明

背景レプリケーションはデータの完全なコピーです。レプリケーションが必要な理由として、まず思い浮かぶの...

Docker ベースの Redis クラスターの構築方法

Redisイメージをダウンロードする docker pull yyyyttttwww/redis を...

よく忘れられがちな CSS のヒント 26 選

これは、よく使われるけれども忘れられがちな CSS 実装方法のコレクションです。抜けや追加があれば、...

Linux環境でrmによって誤って削除されたファイルを回復する方法

目次序文RMの後には希望はあるのでしょうか?最前線を使ってファイルを取得するextundeleteを...

フロントエンド開発一般マニュアル(ツール、Webサイト、経験などを含む)

今日は何もすることがなかったので、いくつかのツール(オンラインとクライアント)、よく使用する URL...