相違点: 1. Angular ダーティ値検出は原則としてローエンド IE をサポートし、理論上はより優れた互換性を備えています。vue データ ハイジャックには ES5 をサポートするブラウザが必要です。 2. Angular ダーティ値検出は大量のデータを含む更新に適しており、Vue データ ハイジャックは少量のデータを含む更新に適しています。
関連する推奨事項: 「angular チュートリアル 」、「vue.js チュートリアル 」
データ バインディングを実装するには、いくつかの方法があります。
パブリッシャー-サブスクライバー パターン (backbone.js)
ダーティ値チェック (angular.js)
データハイジャック (vue.js)
Angular でのダーティ値の検出
angular.js はダーティ値検出を使用してデータが変更されたかどうかを比較し、ビューを更新するかどうかを決定します。最も簡単な方法は、setInterval() を通じて定期的にポーリングしてデータ変更を検出することです。もちろん Google はそれほど遅くはありませんAngular は、指定されたイベントがトリガーされた場合にのみダーティ値検出を開始します。これは大まかに次のとおりです:
DOM イベント (ユーザーによるテキストの入力、ボタンのクリックなど)。 (ng-click)
XHR 応答イベント ($http)
ブラウザ位置変更イベント ($location)
原則として、ローエンド IE をサポートし (初期の NG は IE8 をサポートしていることに注意してください)、理論上はより優れた互換性を備えています。大量のデータによる更新。CPU レベルでの時間計算量は O(VModel) です。更新された少量の差分は計算的に無駄です。
データとビューのバインドと同期は、最終的にはデータの読み取りと書き込みのプロセス、つまり、Object.defineProperty() で定義されたデータ セットと取得関数に反映されます。 メリットとデメリット
JavaScript ネイティブ機能を使用しますが、ES5 をサポートするブラウザも必要です。結局のところ、フロントエンドは将来のプログラミングを指向しているため、 Vue 3 は、ES6 のプロキシ実装にアップグレードする予定です 少量のデータ ボリューム (きめ細かい) の更新に適しており、CPU レベルでの時間計算量は O(変更) です。より多くのメモリ使用量 (時間のためのスペース) のコストangular ダーティ値検出は大量のデータを含む更新に適していますが、vue データ ハイジャックは少量のデータ (きめ細かい) を含む更新に適しています。 関連する推奨事項:
2020 フロントエンド vue インタビューの質問の概要 (回答付き)
プログラミング入門
vue チュートリアル推奨: 2020 年の最新の vue.js ビデオ チュートリアル 5 選
以上が角度によるダーティ値の検出と vue データのハイジャックの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。