ブリーフのVUE双方向のデータバインディングの原則

MVVM

見るViewModelにMVVM名がモデルである
MVVMである3つの部分から構成:
M:Model
V:View
VM:ViewModel

バインダー、またはデータバインディングエンジン内のビューモデルにMVVMで。私たちは、結合ビューに表示されているモデルビュー(ビュー)上のデータと何かの一部を宣言する必要があります。ViewModelにモデル上の更新データは、データラインが自動的にバインダービューを渡されますとき。ユーザーがビューを操作すると逆に、バインダーのデータが自動的にモデルに更新されます。これは、結合、双方向のデータです。
ここに画像を挿入説明

VUE双方向のデータバインディングの原則


vue作成vm時間は、データは、インスタンスに配置され、Object.defineProperty動的データを追加するための方法getter及びsetter方法を。

データを取得する際には、対応するトリガするgetter方法、設定データは、トリガに対応する時間setter方法。

次にときsetter、時間トリガ方法の完全な、さらに内部のトリガwatcherデータの変更は、更新操作を表示する、終了します。

Vueが内部データによってハイジャック&結合双方向のデータを達成するためにサブスクライブ・モデルを公開します

データは、データのすべてに対するObject.defineProperty法によって乗っ取られ、データを動的にゲッターとセッターメソッドに追加されます。

データの変更は、加入者(ウォッチャー)、トリガーのコールバックリスナー応答に発表したとき。

ここに画像を挿入説明
Object.defineProperty( 、objattr である3つのパラメータの方法desc

  • OBJ:オブジェクトのプロパティを定義または変更する必要があります。
  • ATTR:定義する必要があるまたは変更プロパティ。
  • DESC:この属性記述子(記述子と記述子を含むデータアクセス)、オブジェクトのパラメータとして渡されたが、パラメータは、6つのオプションがあります:
  1. 値:属性の値を設定します。
  2. 書き込み可能:ブール、属性が書き込み可能な場合(その値を変更するかどうか)。
  3. 列挙:プロパティを横断することができますブールは、(のような、Object.keysにするために...)が得られます。
  4. 設定:ブール型、プロパティが削除されてもよいかどうか、および他の書き込み可能に加えて、記述を変更することができるかどうかを設定します。
  5. 取得:プロパティの値を取得した場合、関数コールバック関数が(例えばにconsole.log(プロプ))が実行され、デフォルトは未定義です。
  6. セット:コールバック関数は、関数が設定されている場合、プロパティの値は、デフォルトが定義されていない実行されます。

Object.defineProperty欠点がでvue3。

1、无法监听es6的Set、Map 变化; 

2、无法监听Class类型的数据; 

3、属性的新加或者删除也无法监听; 

4、数组元素的增加和删除也无法监听。

私たちは、単純な例を理解します

		var obj = {}
        let middel = 123
        Object.defineProperty(obj,"msg",{
            get(){
               
                return middel
            },
            set(val){
                middel = val
            }
        })

        console.log(obj.msg)   //获取对象的属性的时候,会调用自身的get方法   返回123
        obj.msg = 123456           //设置对象的属性的时候,会调用自身的set方法
        console.log(obj.msg)   //123456

我々はMSGがobjの値を取得する場合には、その後、彼はgetメソッドDESCコールを行くだろうobj.msg印刷する場合、我々は戻り値middelを取得し、123を印刷します。obj.msg = 123456をOBJ MSGに割り当てられている、メソッド呼び出しは、この時間を設定123456 valは、この時間middel = 123456をパラメータとして渡され、その後middelのヴァルに割り当てDESCう。再びobj.msg印刷が123456であるとき、我々は戻っ値。

公開された21元の記事 ウォンの賞賛0 ビュー296

おすすめ

転載: blog.csdn.net/weixin_43861707/article/details/104952249