blog

双方向データバインディングを実装するいくつかの方法

ユーザがテキストを入力したり、ボタンをクリックしたりするなどの DOM イベント。 () を使用して、セッター、ゲッターをハイジャックし、データが変更されたときにサブスクライバにメッセージを発行し、対...

Jul 6, 2020 · 1 min. read
シェア

双方向データバインディングを実装するいくつかの方法

出版社-購読者モデル

ダーティバリューチェック

データハイジャック

vm.set('property', value) パブリッシャサブスクライバパターン:一般的にバインディングリスナーのデータとビューを達成するために、サブ、パブの方法を介して、通常の練習は、データの方法を更新することですこの方法は、今では低すぎるすべての後に、vm.propertyを介してデータを更新することを好む=値この方法では、同時に自動的にビューを更新するので、次の2つの方法があります。

ダーティバリューチェック:angular.jsは、ダーティバリューチェックによってデータが変更されたかどうかを比較することで、ビューを更新するかどうかを決定します。 最も単純な方法は、setInterval()タイマーポーリングによってデータの変更をチェックすることですが、もちろんGoogleはそれほど低くはないでしょう、angularは指定されたイベントがトリガーされたときにのみダーティバリューチェックに入ります。

  • ユーザーがテキストを入力したり、ボタンをクリックしたりするなどのDOMイベント。
  • XHRイベントへの応答
  • ブラウザの場所変更イベント
  • Timer
  • apply()

データ・ハイジャック: vue.jsは、Object.defineProperty()を使用して、パブリッシャ・サブスクライバ・パターンと組み合わせたデータ・ハイジャックを行い、対応するリスナー・コールバックによって引き起こされるサブスクライバへのデータ変更発行メッセージのセッターやゲッターをハイジャックします。

Read next

スクラッチからウォレット-01

最近、私はいくつかの新しい技術を学び、さらにブロックチェーンについてもっと知りたいので、統合するために簡単なウォレットアプリケーションを書きたいと思います。 ウォレット簡易ニーモニック簡易インポート、Bitcoin、Ethereum、CROの3種類のコイン対応、トップページの表示設定対応、...を網羅していれば比較的簡単なアプリケーションです。

Jul 5, 2020 · 4 min read