Vue.js-手寫實現一個簡單的雙向數據綁定

雙向數據綁定幾乎是咱們在vue中聽到的最多的東西。v-model是咱們最多見的雙向數據綁定指令。那麼它到底是怎麼實現的,一塊兒手寫一下。vue

<body>
    <input type='text'>
    <span class='ppp'></span>
</body>

<script>
    let obj = {};
    let temp;
    
    let ipt = document.querySelector('input');
    ipt.oninput = function(){
        obj.a = ipt.value;
    }
    
    //獲取焦點 而且用戶修改了值
    Object.defineProperty(obj,'a',{
        get:function(){
            return temp;
        },
        set:function(val){
            temp = val;
            ipt.value = val;
            document.querySelector('ppp').innerHTML = val;
        }
    })
    
    //當咱們obj中的a屬性發生變化後,input的值跟着改變
    //input的值發生變化後,obj的a屬性也跟着改變
</script>
相關文章
相關標籤/搜索