溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js雙向數(shù)據綁定的實現(xiàn)方法

發(fā)布時間:2020-10-22 14:37:55 來源:億速云 閱讀:207 作者:小新 欄目:web開發(fā)

小編給大家分享一下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)方法

以上是js雙向數(shù)據綁定的實現(xiàn)方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI