数据双向绑定

86 阅读1分钟

<span id="divs"></span>
 <input type="text" id="inputs">

const divs = document.getElementById('divs')
const inputs = document.getElementById('inputs') 

const params = {test:""}

方法1

Object.defineProperty(params,'test',{
        get:function(val){
            return val
        },
        set:function(val){
            divs.innerHTML = val
        }
    })
   

    inputs.onkeydown = function(e){
        params.test = e.target.value
    }

方法2

    let proxyData = new Proxy(params,{
        set:function(target,key,val){
           divs.innerHTML = val
        } 
    })
    
    inputs.onkeydown = function(e){
        proxyData.test = e.target.value
    }