この記事では、vue-router 関連の面接の質問 (回答分析付き) を要約して共有し、基本的な知識を整理し、vue-router の知識の蓄えを強化するのに役立ちます。見て!
#vue-router の原理
シングルページ アプリケーションでは、異なるコンポーネント間の切り替えはフロント経由で実装する必要があります。 -エンドルーティング。フロントエンド ルーティング
1.key はパス、value はページのコンテンツを表示するために使用されるコンポーネントです 2. 作業プロセス:ブラウザのパスが変更されると、対応するコンポーネントが表示されます。
vue-router のルーティング関数:
コンポーネントをルートにマップし、レンダリングします
ルートのハッシュ パターン
- ハッシュは、 URL ## の
## とそれに続く部分では、
ウィンドウは、# 以降の URL はサーバーに送信されません。したがって、URL のハッシュ部分を変更してもページは送信されません。リフレッシュ
onhashchange - イベントの変更を監視できます。ハッシュが変更された場合は、
# 以降のコンテンツを読み取り、その情報に基づいてルーティング ルールを照合し、
window.location.hashを変更してページ ルーティングを変更します。
URL を変更する 3 つの方法
ブラウザで URL を前後に変更する
- タグを使用した URL
- window.location を使用して URL を変更します
- 利点
フロントエンドのみで構成する必要があります。ルーティング テーブル、バックエンドの参加は必要ありません
- 優れた互換性、すべてのブラウザでサポート可能
- ##ハッシュ値の変更はバックエンドにリクエストを送信せず、完全にフロントです-end routing
##欠点
ハッシュ値の前に # を付ける必要がありますが、これは URL 仕様に準拠しておらず、美しくありません
- ルーティング履歴モード - の履歴インターフェイスで新しい
と replaceState()## を使用します。 H5 の履歴 API
- #html5 # 閲覧履歴のレコードを追加および変更し、URL ジャンプがリロードされないようにページ パスを変更するために使用されるメソッドページ###。
-
# を作成する場合のみ## ブラウザの PopState は、動作popstate
イベントは hashchange イベントに似ていますが、popstate イベントは若干異なります。 がトリガーされた場合にのみ呼び出されます。これは、ユーザーがブラウザーの「戻る」ボタンと「進む」ボタンをクリックしたとき、または JavaScript を使用して History.back()、History.forward()、および History.go() メソッド。 -
URL アドレス仕様に準拠し、# が不要で、より美しく使用できます利点
欠点
-
ユーザー
がアドレスを手動で入力するか、ページを更新すると、URL リクエスト が送信されます。開始され、バックエンドは、index.html ページを設定する必要があります。ユーザーは静的リソースと一致できません。そうでない場合、404 エラーが発生します。
互換性は比較的低く、新しい pushState() と
replaceState( は HTML5 History オブジェクトで使用されます。)- メソッドには、特定のブラウザのサポートが必要です。 $route と $router の違いは何ですか?
- $router は VueRouter のインスタンス オブジェクトで、アプリケーション全体の唯一のルーター オブジェクトを表します。ルーティングジャンプメソッド、フック関数などが含まれます。 $route は、このコンポーネントのルーティング ルールを表す現在のルーティング オブジェクトです。各ルートには、ローカル オブジェクトであるルート オブジェクトがあります。
-
Vue-router パラメータはいくつかの方法で渡されますが、違いは何ですか?
-
説明
ジャンプ ルートの指定方法
パラメータが渡されない場合必要な値なしでパラメータを渡すことができます
パス/パラメータ パラメータ | ルートを指定するには名前を使用する必要があります | paramsはルートの一部です。プレースホルダが設定されている場合、 | このルートに params パラメータがあり、このパラメータがジャンプ中に渡されない場合、ジャンプは失敗するか、ページにコンテンツがありません。 | |
---|---|---|---|---|
クエリ パラメーター
| Path? key1=val1 & key2=val2....1. name を使用してルートを指定できます 2. path を使用してルートを指定できますルートを指定します |
query URLの後に続くパラメータです 利用できなくても問題ありません queryは行いません | ||
Vue-router パラメータ損失の問題params パラメータが渡されると、設定プレースホルダで受け取ったパラメータが渡され、アドレス バーが表示されなくなります。と表示され、リフレッシュが失われます。 解決策: vue-router にはパラメータを取得してローカルに保存できます。フック機能?それは正確に何であり、実行プロセスは何ですか?
1. ナビゲーションがトリガーされます。 2. 非アクティブ化されたコンポーネントで beforeRouteLeave keep-alivekeep-aliveはコンポーネントのキャッシュを実装できます。コンポーネントを切り替えても、現在のコンポーネントはアンインストールされません。
特別なアンインストール/マウント プロセス:アクティブ化/非アクティブ化キャッシュ管理:LRU (最も最近使用されていない) は削除アルゴリズムです activated および deactivated
#キャッシュ戦略: 最近少なくとも マップ オブジェクト キャッシュを使用してコンポーネントをキャッシュします。はvnode.type
|
以上が[編集と共有] vue-router 関連のインタビュー質問 (回答分析付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

Vue.jsは、2014年にYou YuxiがリリースしたプログレッシブJavaScriptフレームワークで、ユーザーインターフェイスを構築します。その中心的な利点には、次のものが含まれます。1。レスポンシブデータバインディング、データ変更の自動更新ビュー。 2。コンポーネントの開発では、UIは独立した再利用可能なコンポーネントに分割できます。

Netflixは、Reactをフロントエンドフレームワークとして使用します。 1)Reactのコンポーネント開発モデルと強力なエコシステムが、Netflixがそれを選択した主な理由です。 2)コンポーネント化により、Netflixは複雑なインターフェイスをビデオプレーヤー、推奨リスト、ユーザーコメントなどの管理可能なチャンクに分割します。 3)Reactの仮想DOMおよびコンポーネントライフサイクルは、レンダリング効率とユーザーインタラクション管理を最適化します。

Netflixのフロントエンドテクノロジーでの選択は、主にパフォーマンスの最適化、スケーラビリティ、ユーザーエクスペリエンスの3つの側面に焦点を当てています。 1。パフォーマンスの最適化:Netflixは、Reactをメインフレームワークとして選択し、SpeedCurveやBoomerangなどのツールを開発して、ユーザーエクスペリエンスを監視および最適化しました。 2。スケーラビリティ:マイクロフロントエンドアーキテクチャを採用し、アプリケーションを独立したモジュールに分割し、開発効率とシステムのスケーラビリティを改善します。 3.ユーザーエクスペリエンス:Netflixは、Material-UIコンポーネントライブラリを使用して、A/Bテストとユーザーフィードバックを介してインターフェイスを継続的に最適化して、一貫性と美学を確保します。

netflixusesaCustomframeworkは、「ギボン」ビルトンリアクト、notreactorvuedirectly.1)チームエクスペリエンス:seice basedonfamperivity.2)projectomplerprojects:vueforsplerprojects、racefforcomplexones.3)customeforsneeds:reactofforsmorefloficailie.

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
