vue双向绑定的原理
之前我有個學生在面試的時候,面試官問vue的雙向綁定如何實現?學生說用v-module實現。又問那么雙向綁定的原理是什么?就回答不上來了,這個offer工資在18k左右,其他問題都回答上來了,如果這個問題能回答上來基本上下offer沒什么問題,可是就卡在了這里,所以我錄制了一個視頻教學希望對大家有幫助,讓大家早日找到滿意的工作!
vue雙向綁定的原理
為什么要學習雙向綁定的原理?
面試提升自我學習能力
VUE實現雙向數據綁定的原理就是利用了 Object.defineProperty() 這個方法重新定義了對象獲取屬性值(get)和設置屬性值(set)的操作來實現的。它接收三個參數,要操作的對象,要定義或修改的對象屬性名,屬性描述符。重點就是最后的屬性描述符。屬性描述符是一個對象,主要有兩種形式:數據描述符和存取描述符。這兩種對象只能選擇一種使用,不能混合兩種描述符的屬性同時使用。上面說的get和set就是屬于存取描述符對象的屬性。在面試中如何應對?面試官:說一下VUE雙向綁定的原理?答:VUE實現雙向數據綁定的原理就是利用了 Object.defineProperty() 這個方法重新定義了對象獲取屬性值(get)和設置屬性值(set)的操作來實現的。代碼演示:defineProperty的用法var obj = { };var name;//第一個參數:定義屬性的對象。//第二個參數:要定義或修改的屬性的名稱。//第三個參數:將被定義或修改的屬性描述符。Object.defineProperty(obj, "data", {//獲取值get: function () {return name;},//設置值set: function (val) {name = val;console.log(val)}})//賦值調用setobj.data = 'aaa';//取值調用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;})
總結
以上是生活随笔為你收集整理的vue双向绑定的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在win服务器查看系统报错日志文件,wi
- 下一篇: 《基于数字信号处理的相干光通信技术》读书