国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

輕松理解vue的雙向數據綁定問題

2019-11-19 15:01:53
字體:
來源:轉載
供稿:網友

Vue介紹

Vue是當前很火的一款MVVM的輕量級框架,它是以數據驅動和組件化的思想構建的。因為它提供了簡潔易于理解的api,使得我們很容易上手。

Vue與MVVM

如果你之前已經習慣了用jQuery操作DOM,學習Vue.js時請先拋開手動操作DOM的思維,因為Vue.js是數據驅動的,你無需手動操作DOM。Vue以數據為驅動,將自身的Dom元素與數據進行綁定,一旦創建綁定,Dom和數據保持同步。

雙向綁定

主流雙向數據綁定實現原理

臟值檢測 : 這是AngularJS實現雙向數據綁定的方式。 原理是 當數據進行變更的時候對所有Model和View的綁定關系進行一次檢查,識別是否有數據進行了變更,如果有變化則進行處理,由于可能進一步引發其他數據的改變,會再次循環這個過程,知道沒有數據的變化之后。發送數據到視圖重新渲染。 可想而知,這樣的方式性能不高。

單向數據綁定

指的是我們先把模板寫好,然后把模板和數據(數據可能來自后臺)整合到一起形成HTML代碼,然后把這段HTML代碼插入到文檔流里面。
單向數據綁定缺點:HTML代碼一旦生成完以后,就沒有辦法再變了,如果有新的數據來了,那就必須把之前的HTML代碼去掉,再重新把新的數據和模板一起整合后插入到文檔流中。 簡單的來說就是DOM操作直接改變

數據數據雙向

數據模型(Module)和視圖(View)之間的雙向綁定。

用戶在視圖上的修改會自動同步到數據模型中去,同樣的,如果數據模型中的值發生了變化,也會立刻同步到視圖中去。雙向數據綁定的優點是無需進行和單向數據綁定的那CRUD(Create,Retrieve,Update,Delete)操作雙向數據綁定最經常的應用場景就是表單了,這樣當用戶在前端頁面完成輸入后,不用任何操作,我們就已經拿到了用戶的數據存放到數據模型中了。

如何使用js達到雙向數據綁定

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title></head><body><input type="text" id="userName"><br><span id ="uName"></span><script>  var obj={    pwd:"1234"  };  //主要使用到了get和set方法,最為關鍵  Object.defineProperty(obj,"userName",{    get:function(){      console.log('get init');    },    set:function(val){      console.log("set init");      document.getElementById("uName").innerText=val;      document.getElementById("userNmae").value=val;    }  });  document.getElementById("userName").addEventListener("keyup",function(event){    obj.userName=event.target.value;  }  )</script></body></html>

運行上述的dome,可以使用控制臺,obj.username=123賦值,會自動觸發set方法。若我們在控制臺使用obj.username拿值可以觸發get方法,這也就是vue的雙向數據綁定的核心點。

總結

以上所述是小編給大家介紹的輕松理解vue的數據雙向綁定問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐池县| 滦南县| 卓尼县| 丽水市| 平陆县| 巫溪县| 山东省| 泽库县| 西峡县| 砚山县| 平利县| 囊谦县| 志丹县| 黔西县| 会昌县| 大宁县| 比如县| 南陵县| 盘山县| 财经| 扶沟县| 道真| 商水县| 远安县| 台江县| 徐水县| 枞阳县| 灵宝市| 江川县| 图木舒克市| 滦南县| 娱乐| 昭通市| 潢川县| 湖州市| 巨鹿县| 乐安县| 虞城县| 巴东县| 蓬安县| 积石山|