您好,登錄后才能下訂單哦!
小編給大家分享一下js雙向數(shù)據綁定的實現(xiàn)方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
首先我們了解一下單向數(shù)據綁定和雙向數(shù)據綁定是什么?
單向數(shù)據綁定是什么?
數(shù)據模型(Module)和視圖(View)之間的單向綁定。
需要我們先寫好模板,然后把模板和數(shù)據(可能來自后臺)整合到一起形成HTML代碼,然后把這段HTML代碼插入到文檔流里面。 簡單的來說就是DOM操作html元素。
單向數(shù)據綁定的缺點:一旦HTML代碼生成好后,就沒有辦法再進行改變了,如果有新的數(shù)據出現(xiàn),那就必須要先把之前的HTML代碼刪掉,然后重新把新的數(shù)據和模板一起整合形成新的HTML代碼,再插入到文檔流中。
雙向數(shù)據綁定是什么?
數(shù)據模型和視圖之間的雙向綁定。
當數(shù)據發(fā)生變化的時候,視圖也就發(fā)生變化,當視圖發(fā)生變化的時候,數(shù)據也會跟著同步變化;可以這樣說用戶在視圖上的修改會自動同步到數(shù)據模型中去,數(shù)據模型也是同樣的變化。
雙向數(shù)據綁定的優(yōu)點:無需和單向數(shù)據綁定那樣進行CRUD(Create,Retrieve,Update,Delete)操作,雙向數(shù)據綁定最常應用在就表單上,這樣當用戶在前端頁面完成輸入后,不用任何操作,我們就已經拿到了用戶輸入好的數(shù)據,并放到數(shù)據模型中了。
原生js實現(xiàn)簡單的雙向數(shù)據綁定
代碼示例:<span>標簽內顯示的內容隨用戶輸入的內容而改變
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>原生js實現(xiàn)簡單的雙向數(shù)據綁定</title> </head> <body> <input type="text" id="userName"> <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>
效果圖:
以上是js雙向數(shù)據綁定的實現(xiàn)方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。