vue的雙向資料繫結的原理

2021-10-03 16:20:02 字數 590 閱讀 5918

vue實現雙向資料繫結的原理就是利用了object.defineproperty()

這個方法重新定義了物件獲取屬性值(get)和設定屬性值(set)的操作來實現的。

**演示:defineproperty的用法var obj = ;var name;

//第乙個引數:定義屬性的物件。//第二個引數:要定義或修改的屬性的名稱。

//第三個引數:將被定義或修改的屬性描述符。object.defineproperty(obj, 「data」, ,

//設定值set: function (val) })

//賦值呼叫setobj.data = 『aaa』;//取值呼叫getconsole.log(obj.data);

var obj =

object.

defineproperty

(obj,val,})

document.

getelementbyid

("a").

addeventlistener

("keyup"

,function

(e))

Vue資料雙向繫結的原理

參考 vue資料雙向繫結是通過資料劫持結合發布者 訂閱者模式的方式來實現的。雙向繫結就是檢視上的變化能夠反映到資料上,資料上的變化也能反映到檢視上。如下圖所示 關鍵點在於data如何更新view,因為view更新data其實可以通過事件監聽即可,比如input標籤監聽 input 事件就可以實現了。...

vue雙向資料繫結的原理

var keyvalue 88 var obj object.defineproperty obj,key set function newvalue obj.key 88 keyvalue 99 改變keyvalue 值 obj.key 99 obj物件的key屬性已經繫結了變數keyvalue的...

vue 雙向資料繫結的原理

vue 實現雙向資料繫結的原理就是利用object.defineproperty 方法重新定義了物件獲取屬性值 get 和設定屬性值 set 的操作來實現的。簡單實現 var obj var name 引數一 定義屬性的物件 引數二 要定義或修改的屬性名稱 引數三 將被定義或修改的屬性描述符 obj...