Vueの双方向データバインディングは原理解析を実現する。
この文章は主にVueの双方向データバインディングの原理解析を紹介しています。ここでは例示的なコードで紹介された非常に詳細で、皆さんの学習や仕事に対して一定の参考学習価値を持っています。必要な友達は下記を参照してください。
一、概要
vuejsは、データハイジャック結合リリース者-購読者モードでmodel->viewのデータバインディングを実現し、Object.definePropertyを通じて各属性のsetterをハイジャックし、getterは、データ変動時に購読者にメッセージを発表し、該当するデータのフィードバックをトリガする。
view-modelのバインディングはフォームにchangeを追加したイベントです。
二、考え方
1、データモニターObserverを実現し、データオブジェクトのすべての属性をモニターすることができます。変動があれば最新の値を入手して、購読者に通知します。
2、命令解析器Compleを実現し、各要素ノードの命令をスキャンして解析し、コマンドテンプレートに従ってデータを置換し、対応する更新関数をバインドする。
3、ワンタッチを実現し、observerとcompleを接続するブリッジとして、属性ごとの変動の通知を購読し、受信し、コマンドバインディングの対応するコール機能を実行して、ビューを更新することができます。
4、mvvm入口関数、以上の3つを統合する。
上記の流れは図の通りです。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
一、概要
vuejsは、データハイジャック結合リリース者-購読者モードでmodel->viewのデータバインディングを実現し、Object.definePropertyを通じて各属性のsetterをハイジャックし、getterは、データ変動時に購読者にメッセージを発表し、該当するデータのフィードバックをトリガする。
view-modelのバインディングはフォームにchangeを追加したイベントです。
二、考え方
1、データモニターObserverを実現し、データオブジェクトのすべての属性をモニターすることができます。変動があれば最新の値を入手して、購読者に通知します。
2、命令解析器Compleを実現し、各要素ノードの命令をスキャンして解析し、コマンドテンプレートに従ってデータを置換し、対応する更新関数をバインドする。
3、ワンタッチを実現し、observerとcompleを接続するブリッジとして、属性ごとの変動の通知を購読し、受信し、コマンドバインディングの対応するコール機能を実行して、ビューを更新することができます。
4、mvvm入口関数、以上の3つを統合する。
上記の流れは図の通りです。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。