あなたはVueの応答システムを理解するにはどうすればよいです

1.反応システム説明:
ウォッチャーVueのコンポーネントのインスタンスは、それに対応しています。
データ上のVueのプロパティには、getterメソッドとsetterプロパティを追加されます。
Vueのコンポーネントは、機能をレンダリングするときに実行され、データがタッチ(タッチ)、すなわち読みになり、ゲッターメソッドが呼び出され、その後、あなたはこれが依存するすべてのデータのVue Vueのコンポーネントを記録するために行くだろう。(このプロセスは、依存関係収集と呼ばれている)
のデータが変更されたときは(主にユーザ操作)、すなわち書き込みが、setterメソッドが呼び出され、この時間はVueのは、彼らのレンダリング機能を呼び出すために、このデータに依存するすべてのコンポーネントを通知します更新しました。

2.データによってハイジャックさVueのは、正確にデータの変更を検出することができますので、なぜ私たちは、DOMの仮想差分が必要なのかの違いを検出?
テストサイト:のVueの変更の検出原理
事前知識:コレクションに依存して、仮想DOM、応答システム

近代的なフロントエンドのフレームワークの、2があります変更を検出する方法は、1は、1つのプッシュプルであり

、その代表が反応して、我々は、検出されたどのように反応させ、変更を思い出すことができます。プル
の層となるリアクトそして、我々は明示的に通常setStateAPIで更新します違いを見つけるために仮想ドムのDiff操作は、その後、DOM上のパッチは、
最初からリアクトちょうど「変更がある」ことを知っているし、次に何が起こったのか「を見つけるために暴力の差分変更操作を比較し、変更されたものを最終的には分かりません「
角度のもう一つの代表は汚いチェック操作です。

プッシュ:Vueの応答は、データ収集のVueの初期化データが依存したときに、プッシュのシステムの代表であります
データの変更と、システムはすぐに応答知っているだろう、そのためVueが「変更が発生した場所」で始まりです
が、それはまた、あなたがVueの応答システムに精通しているかどうかを知るだろう、問題が発生します、通常、データは、ウォッチャーを必要とバインド
きめ細かいが、我々が高すぎるバインドされているが、これはメモリのオーバーヘッドと依存関係の追跡を持参し、きめの細かい低すぎます、ウォッチャーの多くを生成する変更を検出するのに十分正確ではありません、
したがってヴュー媒体粒方式用に設計され、構成要素レベルでのプッシュを検出する方法が行われ、それは、反応システムの集合であり、通常はまず、変化の成分を検出する
内部コンポーネント次いで仮想ドムdiffはより具体的な違いを取得し、仮想ドムdiffはプル操作で、
Vueのは、プッシュ+プルはの変化を検出するための方法の組み合わせである

3.Vueを理由がない全く同様のライフサイクルにshouldComponentUpdateに反応?
根本的な理由は、Vueの中で変化を検出し、異なって反応することで

、仮想ドム差分差の使用が検出された、変更が発生したときに知って反応して、変化を検出するプル方法がある反応する
が、多くのコンポーネントは、確かに、実際に変更はありませんこの時間は、それによって全体的なアプリケーションのパフォーマンスを向上させる、差分を減少させるために手動で操作されるshouldComponentUpdate使用する必要がある。

Vueのステージをプッシュ+プッシュは、そのコンポーネントが変更されたことを最初の変化を検出するための方法で引っ張り、したがって手動制御デフ、何
実際に内部コンポーネントを使用しての差分方法は、ライフサイクルに関連するshouldComponentUpdateと同様に導入することができないが、通常、適度なサイズのコンポーネントは、差分の過剰量、限られた値の手動最適化を有していません、
だから今Vueのは、ライフサイクルのこのマニュアル最適化shouldComponentUpdateの導入を考慮していません

おすすめ

転載: www.cnblogs.com/wangxi01/p/11589938.html