VUE實現(xiàn)雙向數(shù)據(jù)綁定的原理就是利用了 Object.defineProperty() 這個方法重新定義了對象獲取屬性值(get)和設(shè)置屬性值(set)的操作來實現(xiàn)的。它接收三個參數(shù)攻泼,要操作的對象竣付,要定義或修改的對象屬性名诡延,屬性描述符。重點就是最后的屬性描述符古胆。屬性描述符是一個對象肆良,主要有兩種形式:數(shù)據(jù)描述符和存取描述符。這兩種對象只能選擇一種使用逸绎,不能混合兩種描述符的屬性同時使用惹恃。上面說的get和set就是屬于存取描述符對象的屬性。在面試中如何應(yīng)對棺牧?面試官:說一下VUE雙向綁定的原理巫糙?答:VUE實現(xiàn)雙向數(shù)據(jù)綁定的原理就是利用了 Object.defineProperty() 這個方法重新定義了對象獲取屬性值(get)和設(shè)置屬性值(set)的操作來實現(xiàn)的。代碼演示:defineProperty的用法var obj = { };var name;//第一個參數(shù):定義屬性的對象陨帆。//第二個參數(shù):要定義或修改的屬性的名稱曲秉。//第三個參數(shù):將被定義或修改的屬性描述符。Object.defineProperty(obj, "data", {//獲取值get: function () {return name;},//設(shè)置值set: function (val) {name = val;console.log(val)}})//賦值調(diào)用setobj.data = 'aaa';//取值調(diào)用getconsole.log(obj.data);代碼演示:defineProperty的雙向綁定var obj={};Object.defineProperty(obj, 'val',{set:function (newVal) {document.getElementById("a").value =newVal==undefined?'':newVal;document.getElementById("b").innerHTML=newVal==undefined?'':newVal;}});document.getElementById("a").addEventListener("keyup",function (e) {obj.val = e.target.value;})
雙向數(shù)據(jù)綁定原理
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來家妆,“玉大人鸵荠,你說我怎么就攤上這事∩思” “怎么了蛹找?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長哨坪。 經(jīng)常有香客問我庸疾,道長,這世上最難降的妖魔是什么当编? 我笑而不...
- 正文 為了忘掉前任届慈,我火速辦了婚禮,結(jié)果婚禮上忿偷,老公的妹妹穿的比我還像新娘金顿。我一直安慰自己,他們只是感情好牵舱,可當(dāng)我...
- 文/花漫 我一把揭開白布串绩。 她就那樣靜靜地躺著,像睡著了一般芜壁。 火紅的嫁衣襯著肌膚如雪礁凡。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼运挫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了套耕?” 一聲冷哼從身側(cè)響起谁帕,我...
- 正文 年R本政府宣布,位于F島的核電站每庆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏今穿。R本人自食惡果不足惜缤灵,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓝晒。 院中可真熱鬧腮出,春花似錦、人聲如沸芝薇。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽洛二。三九已至馋劈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晾嘶,已是汗流浹背妓雾。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- # 前言 ? MVVM 是與 MVC 進化出來的吏奸,區(qū)別在與將view層的數(shù)據(jù)變動直接響應(yīng)到viewModel層上而...
- vue已經(jīng)用了好久啦欢揖,面試的時候經(jīng)常會被問到雙向數(shù)據(jù)綁定的原理,之前一直理解得模模糊糊苦丁,閑下來仔細研究了一下浸颓,然后...
- 1.目前雙向數(shù)據(jù)綁定的方法 發(fā)布者-訂閱者模式(backbone.js) 因為本文研究的不是這個,所以不做...
- 一、原理: 1.vue 雙向數(shù)據(jù)綁定是通過 數(shù)據(jù)劫持 結(jié)合 發(fā)布訂閱模式的方式來實現(xiàn)的产上, 也就是說數(shù)據(jù)和視圖同步棵磷,...
- Vue雙向數(shù)據(jù)綁定的實現(xiàn)原理就是利用了 Object.defineProperty()這個方法重新定義了對象獲取屬...