VUEの基本的な問題

1.vue利点?
A:軽量フレームワーク:専用ビュー層に関係は、データ収集のビューを構築して、わずか数十キロバイトの大きさ、
習得が容易:人々の開発、中国の文書は、理解し、習得が容易全く言葉の壁は、ありません。
双方向のデータバインディング:角度特性を保持し、操作がデータの点で簡単である。
アセンブリの:利点は、HTMLのカプセル化と再利用を達成するために反応する保持、単一ページのアプリケーションを構築するユニークな利点を有し、
ビュー、分離のデータ構造:増加、よりシンプルで、ロジックコードを変更していない、あなただけの操作に関連完全なオペレーショナル・データに必要なデータを変更しない
DOM操作のパフォーマンスに非常に時間がかかり、もはやDOMネイティブを使用して運用ノードであり、偉大な解放操作DOM:仮想DOMはしかし、具体的な操作やDOMを変更するだけで、別の方法である。
より速く:反応するように比較して、それがパフォーマンスの面でも、仮想オペレーティングDOMで、VUEは大きな利点があります。
2.vue親コンポーネントはサブアセンブリにデータを渡すために?
A:小道具をすることで
、親コンポーネント3.サブコンポーネントのようなイベントを渡しますか?
回答:$発する方法の
類似点と相違点4.vショーとV-IF命令?
:共通の事:コントロールが表示され、非表示要素ができ;
違い:;ダイナミックV-場合実現は本質的に異なる方法で、どれも、コントロールが隠されていないされたCSSの表示設定を制御することで、実質的にvが-示し、一度だけコンパイル初期値がfalseの場合、それはコンパイルされません、DOMツリーにDOM要素を追加または削除します。そして、V-場合は破壊を停止し、より多くの消費性能を作成していません。
概要:あなたは、V-ショーを使用して、頻繁にスイッチング・ノードの場合は(オーバーヘッドの切り替えが、大きな初期費用が比較的小さいです)。ノードは、V-IFを使用して、頻繁なハンドオーバを必要としない場合(初期レンダリング小さなオーバーヘッドスイッチのオーバーヘッドが比較的大きいです)。
5.どのようにCSSだけで、現在のアセンブリに動作させるには?
A:アセンブリにおけるフロントスタイルプラススコープ
?役割は何6. <キープアライブ> </キープアライブを>
A:キープアライブVueが、コンポーネントが保留に含めることができるように、組み込みのコンポーネントですまたは回避再レンダリング。
7.入手方法DOMへ?
A:REF = "domName"使用:.この$ refs.domName
いくつかのVUE命令とその使用法の中で話さ8.?
A:Vモデルの双方向のデータバインディング;
V-のための循環;
V-IF-Vショーのショーと非表示;
V-ONイベント; V-一回:一度だけバインド。
何9. VUE-ローダーこと?それは何を使用して使用しますか?
A:VUEローダーファイル、JSにテンプレート/ JS /スタイルモジュールに変換します。
用途:JSテンプレートは、ヒスイとして追加することができ、風のスタイルがSCSS以下することができ、ES6を書くことができます
なぜキーを使用して10?
A:あなたが一意に各ノードを特定するキーを作成する必要があります、差分アルゴリズムが正しく、このノードを識別することができます。
主な役割は、効率的に仮想DOMを更新することです。
?11.axiosとインストール
A:要求モジュールのバックエンドリソース。NPMインストールaxiosは、インストール--save
JSのインポートがで使用される、またはに.getと.post。.Then関数が返す成功した場合、障害が.catch機能です。
の12.vモーダル使用。
:双方向バインディングフォームデータ用のVモデルは、実際には、それは二つの操作の後ろにこれを行うには、シンタックスシュガーです。
V-バインドバインド値プロパティ、
現在の要素の結合の入力イベントにV-ONコマンド。
各フォルダやファイルの13セイの利用vue.cliプロジェクトのsrcディレクトリ?
:静的リソースを入れているフォルダ資産、コンポーネントは、コンポーネントを入れて、ルータは、関連する設定をルーティング定義することである。app.vueアプリケーションは、主成分である; main.jsは、エントリ・ファイルです。
個別に計算され、時計の利用シナリオの14説明
計算:A
    、複数の特性によって影響を受けるプロパティを計算に使用する必要がある場合
    、最も一般的な栗:カート製品をするとき決済
ウォッチ:
    データは複数のデータに影響を与えますあなたは時計を使用する必要がある場合は、
    栗を:検索データ
15.vオンは、複数の方法を監視することができますか?
:栗:の<input type = "text"の Vオン= "{入力:onInput、フォーカス:のonFocus、ぼかし:onBlurイベント、}">。
16. $ nextTick使用
A:あなたはデータの値を変更してから、すぐに更新された値を取得することはできません、DOM要素の値を取得する
データ値が更新をレンダリングするために修正さそうということ、あなたは$ nextTickにこのコールバックを使用する必要があります買収でDOM要素の後に、成功するために。
関数は、なぜ、部品データを17.vueしなければならないのですか?
:のJavaScriptによる特性、コンポーネントに、データは、関数の形で存在しなければならないので、オブジェクトではありません。
  機能に書き込まれたデータセットは、関数は、彼らは、各コンポーネントインスタンスに対応し、新たなデータを返すが、それ自身のプライベートデータ領域を有しているので、その都度、再利用可能なコンポーネントことが、定義された値の形式でデータを返しますデータの責任は、維持されている混乱を引き起こすことはありません。、すべてのコンポーネントがデータ・インスタンスを共有しているオブジェクトと簡単の形で書かれ、そのような変更はすべて変更されます。
18.フレームワークの漸進的な理解
A:最小命題に、あなたは、さまざまなニーズに応じて異なるレベルを選択することができます。
どのように19.Vue双方向のデータバインディング実装されていますか?
:VUE双方向データサブスクリプションモデルと併せて発表したデータ、データとビューの同期、データの変更は、ビューの変化に伴って、ビューの変更は、データも変更されることを意味するハイジャックの方法によって達成される結合;
コアの:約VUE双方向データバインディング、そのコアはObject.defineProperty()メソッドです。
20.単一ページのアプリケーションとマルチページアプリケーションと長所と短所との差
A:単一ページのアプリケーション(SPA)、人気のポイントは、すべての必要なHTML、JS、CSSをロードする唯一のアプリケーションのメインページ、ブラウザの開始を指します。すべてのページのコンテンツは、このいわゆるメインページに含まれています。しかし、唯一のローカルリソースを更新し、書面で、または別々に(ページ・フラグメント)書きますし、その後の相互作用、ページ単一ページジャンプの時にプログラムをルーティングダイナミックによってロードされました。そして、より多くのPCで使用します。
マルチページ(MPA)、アプリケーションを意味し、複数のページを持っているページは、全ページのリフレッシュジャンプされる
単一のページの利点を:
、速い、あなたは、このスパに基づいて、ページ全体をリロードの内容を変更するにはユーザーエクスペリエンスが良いです必要はありません。サーバ低い圧力、前端と後端を分離する;効果は、(特殊なアニメーションコンテンツを切り替えるページのような)ページを冷却することになります。
単一ページ短所:
SEOを助長されていません。あなたが自分自身、背中の進展を達成するための必要性をナビゲートする必要がある場合、ナビゲーションは、使用できません。(それは前進単一のページに戻るブラウザの機能を使用することができないので、自分のスタック管理を確立することが必要である);時間がかかります最初のロード、ページの複雑さの多くを改善します。
21.v-IFおよび優先V-FOR
A:V-ため、Vの優先度に関連して使用されるV-場合場合より高いV-場合よりも、V-IF各々が繰り返し実行されることをその手段V-ため、各ループ。そこで、我々は、V-場合と同時使用V-ためにはお勧めしません。
で、V-場合とV-ため、VUEで使用している場合は自動的にプロンプトV-場合、それは外側の層に行く必要があります。
静的および22.assetsの違い
A:同じポイント:資産は、両方の保存された静的および静的リソースファイルです。同じポイントであるあなたはこれらの2つのファイルを置くことができるように、ファイル・イメージ、フォント、アイコン、スタイルファイルを必要に応じてプロジェクトのリソースは、
同じポイントではありません:NPMの実行を実行しているプロジェクトパッケージ、静的リソースファイルに保存された資産置かれた資産は、静的リソースファイルアップロードパッケージを構築する際に、いわゆるパッケージの簡単なポイントは、圧縮コード形式のボリュームとして理解することができます。最終的に圧縮された静的リソースファイルをサーバーにアップロードとともに、静的のindex.htmlファイルに配置されます。梱包や他のプロセスを行かないだろう静的な圧縮形式に配置された静的リソースファイルが、直接、パッケージディレクトリに、サーバーに直接アップロードします。圧縮は、大きなポイントを提出する資産をパッケージ化だ後のパッケージファイルにファイルサイズの相対的なので、圧縮や他の操作がない場合には、いくつかの効率が、静的リソースファイルを増加します直接アップロードを回避するため。サーバーは、より多くのスペースを占有します。
推奨事項:プロジェクトテンプレートのスタイルファイルのjsファイルの必要性は、このすべてのプロセスを離れて梱包、資産に配置することができます。体積が減少。このプロジェクトは、直接取引アップロードする、我々はもはや必要性を扱われてきたため、これらのサードパーティのファイルの導入を静的に配置することができ、そのようなリソースファイルやその他の文書iconfoont.cssなどのサードパーティを、導入しました。
23.vue一般的に使用される変性剤
A:.stop:するevent.stopPropagation JavaScriptがイベントバブリングを防止するために、()と等価です。
.prevent:event.preventDefault内のJavaScriptと同等()、デフォルトの動作の実装を防止する(イベントがキャンセルされた場合、そのイベントのさらなる伝播を停止することなく、イベントをキャンセル);
.capture:イベントバブリングの方向とは反対;イベントは、外側から内側に取り込まれ
、自分自身の範囲内でのみトリガイベントをサブ要素が含まれていません。:.self
.once:のみトリガーたら。
2つのコアポイントは24.vue
駆動データ、システムコンポーネント:A
データの一貫性およびビューを保証する、ビューモデル:データ駆動型です。
システムの構成要素:すべてのアプリケーションクラスは、UIコンポーネントツリー構成で見ることができます。
25.vue jQueryとの違い
A:jQueryのDOMオブジェクト、その割り当てられた値、イベント結合および他の操作を選択するセレクタ($)を使用しており、実際にネイティブのHTML唯一の違いは、あなたがより簡単に選択できることで、 DOMオブジェクト操作、およびデータインターフェースは一緒にされています。このようなコンテンツのラベルのタグを取得する必要がありますよう:$(「lable」)のval ();、 それはまだDOM要素の値に依存しています。
VueのVueがオブジェクトを介して行われ、データは完全にビューから分離されています。不要になったが、対応するDOMオブジェクトを参照するためのデータを操作する、それがデータの言うことができるとViewは、彼らがVueのVMによって、この目標を達成するために互いに結合され、別のものです。これは、MVVMの伝説です。
ステップ導入アセンブリ26の
A:アセンブリテンプレートの導入、
スクリプトの最初の行にインポートするための導入路と、
コンポーネントに書かれたコンポーネント名を持ちます。
Vue.delete差27.delete、削除の配列
:のみ削除された要素を削除するには、空/未定義キーまたは変更他の要素となります。配列のキーの変更のアレイを削除Vue.delete。
解決方法最初の画面をロード遅い28.SPA
Aを動的遅延負荷を必要プラグインをインストールし、CDNリソースを使用します。
29.Vue-ルータがジャンプしないとLOCATION.HREF差は何ですか
A:LOCATION.HREF =「/ URL」を使うが、ジャンプする、簡単で便利な、しかし、ページを更新し、
使用history.pushState(「/ URL」)、何のリフレッシュページは、静的ジャンプ;
導入ルータ、その後、使用router.pushは(「/ URL」)DOMの消費量を削減する、オンデマンドロードのためのdiffアルゴリズムを使用し、ジャンプします。
実際には、ルータの使用がジャンプしhistory.pushStateを(使用)VUE-ルータは特に履歴モードで、history.pushState()を使用しているので、違いはありません。
30. VUEスロット
A:簡単に言えば、その後、DOMが表示されているサブコンポーネントで、いくつかのDOMを置くために、親コンポーネントのニーズ、場合、ディスプレイには、ライブスロットを配布する方法を、内のローカルディスプレイ、表示されていないが担当しています。
31.あなたVUEプロジェクトは、JSファイル、CSSファイル、または複数のファイルにパッケージ化されていますか?
A:VUE-cliの足場仕様、JSファイル、CSSファイルをよります。
ルータリンクの内側32.Vueは、コンピュータ上ではなく、反応のAndroidを解決する方法に関する有用なのですか?
A:Androidのマシン上の問題のVueのルート、バベルの問題、解決のプラグインバベルのポリピルをインストールします。
33.Vue2は、イベントルータリンクに登録無効ソリューションです
A:click.native @使用。理由:ルータリンク防止がイベントをクリックし、.nativeは直接ネイティブのイベントを監視指します。
34.RouterLink IEとFirefoxの問題は、作業(ジャンプしない経路)がない
2;ラベルのみ、ラベルがボタンを適用されない:Router.navigateボタンラベルとメソッド方法:A
35.axios特性何
A:ブラウザからのXMLHttpRequestsの作成、
Node.jsのは、httpリクエストを作成し、
支援の約束API;
インターセプト要求と応答、
変換要求データと応答データ;
取り消し要求、
自動的にJSONへ。
axios伝送パラメータフィールドは、2つのparamsのデータで、違いはのparamsは、データがリクエストボディとして送信され、要求アドレスとともに送信されていることである
データが置かリクエストを投稿することが一般的に適用可能であり、要求を取得するために一般的に適用paramsは。
36.パッケージコンポーネントの下VUEプロセスを言ってください!
A:1.良いコンポーネントの基本的なロジックを考え、最初のスタイルを書いて、棚を取る、テンプレート・コンポーネントを確立します。(OS:リフレクション1時間、10分アンブル、類人猿プログラムガイドライン)は
  、データ入力コンポーネントを準備2.。すなわち、ロジック解析が良いの小道具のデータ型になります良いです。
  出力データ成分に準備ができて3。成分ロジック、すなわち、ウェルの方法にさらさ。
  4.完成したパッケージは、直接呼び出すことができます
クエリと37.paramsの違いを
A:使用方法:ご紹介するために使用するクエリパス、導入する名前を使用するようにparamsは、パラメータは、すなわちこの$のroute.query.nameと、この$のroute.params.name似ています受信...
私たちは、AJAX質量の参加に得るものに類似のクエリ、paramsはポストに類似しており、その後、単純に言った、かつてのパラメータが表示されていないブラウザのアドレスバーに表示されるように:URLアドレスが表示された
注意事項を:クエリの更新は失われません内側のクエリデータ
のparams paramsがデータ内部が失われますリフレッシュ。
38.vue最初のページ点滅質問
A:私たちは簡単にケースに現象をHuapingコードを書くことができるようにdiv要素が解決されていない、VUEチューブを所有されていないので、VUE初期化の前にVUEの開発を、使用している場合、同様の参照{{メッセージ}}への言葉、一般的にこの時間は非常に短いですが、我々はまだこの問題を解決するために行う必要がありますが。
最初:CSSのプラス[V-マント] {
表示:なし;
}。
そうでない場合には完全にルート要素プラススタイル=「表示:なし;」で、問題を解決する :スタイル=「{表示: 『ブロック』}」
方法が更新されたビューは、アレイ更新39.vueときにトリガ
A:プッシュ()と、POP ();シフト();抜き();スプライス();ソート();リバース()
40.vue共通UIコンポーネントライブラリ
:ミントUI、要素は、VUX
41.vueは、梱包後静的リソースのパスを修正する修正
Aを:CLI2バージョン:assetsPublicPath値の設定/ index.js「へ。
ビルド:{
...
assetsPublicPath「./」、
...
}
CLI3バージョン:ルートディレクトリに新しいファイルをvue.config.jsし、次を追加します:(このファイルが直接変更されている場合)、
Module1を。 = {輸出
publicPath:「」、//相対HTMLページ(同じディレクトリ内)は}
ライフサイクル機能が直面する質問
1. VUEのライフサイクルとは何ですか?役割とは何ですか?
:それが作成されたときに、各Vueのインスタンスが初期化プロセスの一連を経なければならない-例えば、必要が監視データを設定するには、コンパイル済みのテンプレートは、例として、DOMとDOMの更新データの変更にマウントされます。しかし、また、ユーザーに様々な段階で独自のコードを追加するための機会を与えるプロセスにおけるフックのライフサイクルと呼ばれるいくつかの機能を、実行します。あなたは、そのようなポップアップウィンドウの後にページをレンダリングするようにいくつかのプラグインにより、DOMノードを操作したい場合は、我々は最も初期に搭載されていてもよい、例えば:(Psがライフサイクルのライフサイクルは、フック関数です)。
2.いくつかのフックをトリガーする最初のページのロード?
A:beforeCreate、作成された、beforeMount、マウント
のための特定のシーンの各期間の3説明
beforeCreate:回答を新しいVUE例の後、唯一のいくつかのデフォルトのライフサイクルのフックと、デフォルトのイベント、他のものは作成していません。beforeCreateライフサイクルの実行、データとメソッド内のデータは初期化されていない場合。データの方法のこの段階で使用されている方法とデータではありません
作成:データとメソッドを使用して、データのメソッドの方法、または運用データを呼び出したい場合は、最古のはこのフェーズで動作することができ、まあが初期化されている
メモリにコンパイルしているとき、実行をフックに:beforeMount 。テンプレートが、ページに装着されていないこのような場合には、ページまたは古いが
マウントさ:このフックの実装には、Vueのインスタンスが初期化を完了したことを意味する場合。作成段階からこのアセンブリでは、運用段階へ。我々はしたい場合は、DOMのプラグイン上のノードおよびオペレーティングページこの段階によって早い
のBeforeUpdate:このフックを実行する場合、データはページや、古い、データ内のデータが更新され、ページを表示ノーと同期して、最新のデータ
に更新:ページが表示されたデータとデータが同期して、すでにあるが、最新のある
、相を破壊する段階を実行しているからVueのインスタンス、すべてのデータとメソッド、今回の指示:beforeDestory ......フィルタは、利用可能な状態にあります。実際に破壊されていない
破壊された:方法と、すべてのデータ、命令、今回......フィルタが使用できない状態です。コンポーネントが破壊されています。
その差4.created取り付けられた
回答:作成:通常のHTMLの前に呼び出し、にテンプレートをレンダリングし、特定のプロパティ値を初期化して、ビューにレンダリング。
マウント:HTML呼び出しにテンプレートをレンダリングした後、ページの初期化が完了し、その後、HTML DOMノードを実行するいくつかの操作が必要で、通常は後。
周期関数れるデータ取得5.vue
A:一般的に作成/ beforeMountは/ことができマウントを
使用すると、DOMを操作したい場合は、彼らが動作することができるとき例えば、それは確かに搭載されています。
VUEのライフサイクルのご理解の下で6下さい詳細?
A:合計/後にする前に破壊した後/前に更新した後、/ロードする前に、作成前/後に8つの段階に分かれています。
あなたが/の前に作成した後:beforeCreated段階では、要素VUEインスタンス$ ELを搭載し、**データは、データ・オブジェクトですが定義されていない、それが初期化されていません。作成した段階では、データオブジェクトは、データVUE例えば、$ ELはまだされています。
ロードする前に/リア:DOMは仮想ノードとしてマウントする前にbeforeMount段階で、VUE $エルインスタンスとデータが初期化されているが、それでも、data.messageが交換されていません。ステージマウントにおいて、マウントのVUE例はdata.messageが正常にレンダリングされた、終了します。
更新/リアの前に:データの変更、それはのBeforeUpdateと更新されたメソッドをトリガーします。
破壊前/後:destroyメソッドの実装は、もはやトリガ周期関数が、実施例はこの点VUEが結合していないと、イベントリスナーならびにDOM、DOMされなく構造がまだ存在例示するデータを変更した後。
VUE顔の質問をルーティング
何1.mvvmフレームワーク?
A:モデル層を更新するビューを変更するときに更新されたモデルのレイヤ変更ビュー層VUEは、フレームワークMVVMを結合双方向のデータを得ることです。VUEでは、双方向結合技術の使用は、モデルビューの変更でリアルタイムに変更を加えることで、モデルはまた、ビューにリアルタイムで更新することができます変更されます。
?それは2.vue-ルータどのコンポーネントは何ですか
A:VUEは、プラグインのルートを書き込むために使用しました。リンクルータ、ルータ-ビュー
コンポーネントである3.activeクラスのプロパティ?
:組立ルータリンクVUE-ルータモジュール。子供アレイサブルートが定義されています
4.どのようにダイナミックルーティングVUE-ルータは値が上を通過取得する方法は?で定義するには?
A:ID:パスの属性に加えて/上のルータindex.jsファイルディレクトリに。使用して、ルータオブジェクトをparams.id。
?いくつかのナビゲーションを持って5.vue-ルータは、フック
Aを:三、
最初:グローバルナビゲーションフック:(次の、から、にrouter.beforeEach )、 役割:ジャンプの前に裁判官の傍受。
第二:内のフックコンポーネント
第三:別のルーティング排他的には組立
6. $ルートと$ルータ差
A:$ルータがVueRouterインスタンスでは、あなたは、スクリプトタグ内の別のURLに移動$ルータを使用したいです.push方法。router.to $(-1)と歴史の前の歴史に戻り
、現在のルータジャンプオブジェクトの$ルート。あなたはどちらの名前、パス、クエリ、parmasなどの現在のルートを取得することができます。
二つのモード7.vue-ルータ
A:ハッシュモード:URLアドレスバーの#記号;
歴史モード:プリント内部window.historyオブジェクトはメソッドと記録長を提供するために見ることができます。HTML5の歴史pushStateへのインターフェイス()とreplaceState()メソッドで新しいを使用します。(特定のブラウザのサポートが必要です)。
遅延ロード(動的負荷ルーティング)ルーティングする8.vueルータ
回答:三つの方法
まず:非同期VUE ASSEMBLY ====は非同期的にロードされ、VUEの技術を使用してルーティングするために非同期成分を構成しVUE-ルータは、需要の負荷は、この場合には、しかし、JSファイルを生成するためのコンポーネントを達成することができます。
第二:(インポートを使用して)経路遅延読み込み。
第三:ルート用いるrequire.ensureのWebPACKの技術は、オンデマンドでロードすることができるように構成WebPACKの提供require.ensure()、VUEルータ。この場合には、同一の指定されたルーティングchunkName複数のパッケージ化ファイルJSにマージされます。
vuex共通インタビューの質問
何1.vuexこと?どのように使用するには?どのシナリオを使用するには?
A:状態管理の枠組みVUE。ストアは、main.jsに注射を導入しました。
ディレクトリstore.js、... ..エクスポートを作成します。
シーン:単一ページのアプリケーション、コンポーネント間の状態。音楽プレーヤー、カートに追加、ログインして
どのような属性の種類2.vuex?
:国家、ゲッター、突然変異、アクション、モジュールの5種類があります
国家は=>基本データ(ソースデータが格納される)
ゲッター=>データの基本データから派生
変異=>同期の方法により提出されたデータを変更!
アクションは=>デコレータ、ラッピング変異として、それは非同期でできること。
=>モジュラーVuexモジュール
のAjaxリクエストで3.Vue.jsは、コードはアセンブリまたは内のアクションのvuex方法で記述する必要がありますか?
A:国民に要求されたデータは、アセンブリ使用してリクエストのみで、他のコンポーネントではない場合には、それはvuex状態を入れていません。

おすすめ

転載: www.cnblogs.com/feifan1/p/12059869.html