検索
ホームページウェブフロントエンドVue.jsVue の 2 つのルーティング モード (ハッシュとヒストリー) について話しましょう

Vue の 2 つのルーティング モード (ハッシュとヒストリー) について話しましょう

ルーターには 2 つのモードがあります。vue -cli# を使用する場合、1 つは hash モード、もう 1 つは history モードです。 ## および vue-routervue プロジェクトはデフォルトでビルドされます。特別な設定が行われていない場合、デフォルトは hash mode

です。これら 2 つのモードにはそれぞれ利点がありますが、その使用方法の違いは多かれ少なかれ面接で質問されます

今日一緒に学びましょう

ハッシュ モード (hash )

vue-routerデフォルトの hash モードでは、url (hash) のハッシュを使用して、完全な URL をシミュレートします。 、URL が変更されると、ページはリロードされません。 [関連する推奨事項: vuejs ビデオ チュートリアル Web フロントエンド開発 ]

以下に示すように

http://localhost/#home

機能 : # 以降のパラメータはサーバーに送信されません。互換性が高く、パスの一部としてサーバーに送信されません。つまり、HTTP には含まれません。 リクエストの本文。まったく影響はありません。フロントエンドの生徒が自分でプレイするときだけです。

ページが更新されると、現在のページに留まり、リロードされません

hash パスが醜い、単純ではないと思われる場合は、history.pushState API# を最大限に活用するルーティングの history モードを使用できます。 ## または replaceState で完了、url ページをリロードせずにジャンプ履歴モード

history

モード: # を追加##mode 値を history として、インスタンス化された構成オブジェクトにモードを設定します。 変換後、hash モードは history mode

const router = new VueRouter({
  mode: 'history',
  routes: [...]
})
になります。ブラウザ# の外観を気にする場合は、これら 2 つの方法を使用しても問題ありません。 ##url

# 記号が url に混在していると、少し上品に見えませんもしよければ、url見た目がよくなります。

history

モードを使用してくださいただし: hash モードでは、

hash

シンボルを使用する前のコンテンツがリクエスト本文に含まれます。 # の後の番号はサーバー に送信されません。ただし、history モードでは、フロントエンド

URL

はクライアントによって開始された URL は、https://itclan.cn/fontend/id のように一貫性のある である必要があります。バックエンドに正しい

/fontend /id

ルート処理がない場合、404 エラー が返されます。 history モードをサポートしたい場合は、 404 問題を完全に解決するには、バックエンドとフロントエンドのルートを一致させる必要があるため、

バックエンドのクラスメートと交渉する必要があります。

##すべての状況をカバーするためにサーバーに候補リソースを追加します。url一致する静的リソースがない場合は、ホームページが返される必要があります。404 が表示される場合は、ユーザーはこれをバグだと思いがちです。

ページをフォアグラウンドで更新する 404 問題を解決する方法この問題を解決するには:

Node# を使用している場合## バックエンド サービスの場合は、

Node

バックグラウンドに次のようなミドルウェアを追加できます。

connect-history -api-fallback

でこの 404 問題を解決できます

java または php の場合は、バックエンド クラスメートを見つけてバックエンド ルーティングとフロントエンド ルーティングにマッチングさせるか、Ngnix

を使用します。中間プロキシとして

次の単純な Node サービス コードには server.js という名前を付けることができます。また、express

connect- もインストールします。 History-api-fallbackmiddlewareバックエンドサービス実行コマンドの開始nodeserver.js

const express = require('express');
const history = require('connect-history-api-fallback')

const app = express()
app.use(history())
app.use(express.static(__dirname+'/static'));


app.listen(5005,(err)=> {
  if(!err)consle.log('服务器启动成功了')
})
コードをdist#に配置します。 ## ファイルは、フロントエンド パッケージ化によって

static

に生成されます。この操作により、ページの更新の問題、404 質問

アプリケーションの理解が解決できます。シングルページ スパの フロントエンドで使用される vue-router の 2 つのモードはシングルページ アプリケーションであり、アプリケーション全体 router# には 1 つだけあります。 ## Router は、$router

属性を通じて取得できます。

つまり、アプリケーション全体には完全なページが 1 つだけあります。同時に、ページ内のナビゲーション リンクをクリックします。ページは更新されず、ページの部分的な更新のみになります。

#そして、ページ内のデータは、ajax リクエスト ## を通じて取得する必要があることがよくあります。 #現在開発中の新しいプロジェクト、フロントエンドとバックエンドの両方が分離されており、基本的には単一ページのアプリケーションです。概要

フロントエンドのルーティングには 2 つのモードがあります。

hash

モード、もう 1 つは

history モードです。hash

モードがデフォルトのモードです。

# はサーバーに送信されません

history

Mode,

url見た目は良くなりますが、完全なサポートが必要な場合は、バックエンドのクラスメートからのサポートが必要です。エンド ルーティングとフロントエンド ルーティングは 一致する必要があります。そうでない場合、オンラインでデプロイされます。ページが更新されるとすぐに、問題 404 が表示されます。<p> (学習ビデオ共有: <a href="https://www.php.cn/course/list/18.html" target="_blank">vuejs 入門チュートリアル </a>、<a href="https://www.php.cn/course/list/91.html" target="_blank" textvalue="编程基础视频">基本プログラミング ビデオ </a>)</p>

以上がVue の 2 つのルーティング モード (ハッシュとヒストリー) について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は博客园で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
フレームワークの選択:Netflixの決定を推進するものは何ですか?フレームワークの選択:Netflixの決定を推進するものは何ですか?Apr 13, 2025 am 12:05 AM

Netflixは、主に、パフォーマンス、スケーラビリティ、開発効率、エコシステム、技術的な負債、およびフレームワーク選択におけるメンテナンスコストを考慮しています。 1。パフォーマンスとスケーラビリティ:JavaとSpringbootが選択され、大規模なデータと高い同時リクエストを効率的に処理します。 2。開発効率とエコシステム:Reactを使用して、フロントエンド開発効率を向上させ、その豊富なエコシステムを利用します。 3.技術的な負債とメンテナンスコスト:node.jsを選択してマイクロサービスを構築して、メンテナンスコストと技術的債務を削減します。

Netflixのフロントエンドの反応、Vue、および未来Netflixのフロントエンドの反応、Vue、および未来Apr 12, 2025 am 12:12 AM

Netflixは、主にReactをフロントエンドフレームワークとして使用し、特定の機能のためにVUEによって補足されます。 1)Reactのコンポーネント化と仮想DOMは、Netflixアプリケーションのパフォーマンスと開発効率を向上させます。 2)VueはNetflixの内部ツールと小規模プロジェクトで使用されており、その柔軟性と使いやすさが重要です。

フロントエンドのvue.js:実際のアプリケーションと例フロントエンドのvue.js:実際のアプリケーションと例Apr 11, 2025 am 12:12 AM

Vue.jsは、複雑なユーザーインターフェイスを構築するのに適した進歩的なJavaScriptフレームワークです。 1)そのコア概念には、レスポンシブデータ、コンポーネント、仮想DOMが含まれます。 2)実際のアプリケーションでは、TODOアプリケーションを構築し、Vuerouterを統合することで実証できます。 3)デバッグするときは、vuedevtools and Console.logを使用することをお勧めします。 4)パフォーマンスの最適化は、V-IF/V-Show、リストレンダリング最適化、コンポーネントの非同期負荷などを通じて達成できます。

Vue.jsとReact:重要な違​​いを理解するVue.jsとReact:重要な違​​いを理解するApr 10, 2025 am 09:26 AM

Vue.JSは中小企業から中規模のプロジェクトに適していますが、Reactは大規模で複雑なアプリケーションにより適しています。 1。VUE.JSのレスポンシブシステムは、依存関係追跡を介してDOMを自動的に更新し、データの変更を簡単に管理できるようにします。 2.反応は一方向のデータフローを採​​用し、データは親コンポーネントから子コンポーネントに流れ、明確なデータフローと簡単な抽出構造を提供します。

Vue.js vs. React:プロジェクト固有の考慮事項Vue.js vs. React:プロジェクト固有の考慮事項Apr 09, 2025 am 12:01 AM

VUE.JSは、中小規模のプロジェクトや迅速な反復に適していますが、Reactは大規模で複雑なアプリケーションに適しています。 1)Vue.jsは使いやすく、チームが不十分な状況やプロジェクトスケールが小さい状況に適しています。 2)Reactにはより豊富なエコシステムがあり、高性能で複雑な機能的ニーズを持つプロジェクトに適しています。

Vueにタグをジャンプする方法Vueにタグをジャンプする方法Apr 08, 2025 am 09:24 AM

VUEでタグのジャンプを実装する方法には、HTMLテンプレートでAタグを使用してHREF属性を指定する方法が含まれます。 VUEルーティングのルーターリンクコンポーネントを使用します。 JavaScriptでこれを使用します。$ router.push()メソッド。パラメーターはクエリパラメーターに渡すことができ、ルートは動的ジャンプのルーターオプションで構成されています。

VUEのコンポーネントジャンプを実装する方法VUEのコンポーネントジャンプを実装する方法Apr 08, 2025 am 09:21 AM

VUEでコンポーネントジャンプを実装するための次の方法があります。Router-Linkと&lt; router-view&gt;を使用してください。ハイパーリンクジャンプを実行し、ターゲットパスとして属性を指定するコンポーネント。 &lt; router-view&gt;を使用してください現在ルーティングされているレンダリングされているコンポーネントを表示するコンポーネント。プログラマティックナビゲーションには、router.push()およびrouter.replace()メソッドを使用します。前者は歴史を保存し、後者は記録を残さずに現在のルートに取って代わります。

VueのDivにジャンプする方法VueのDivにジャンプする方法Apr 08, 2025 am 09:18 AM

VUEにDIV要素をジャンプするには、VUEルーターを使用してルーターリンクコンポーネントを追加するには、2つの方法があります。 @clickイベントリスナーを追加して、これを呼び出します。$ router.push()メソッドをジャンプします。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール