js实现数据的双向绑定

今天用原生js来实现一个数据的双向绑定

知识点:object.defineProperty()

  三个参数:

    第一个:要定义属性的对象,

    第二个:要定义或者修改的属性的名称

    第三个:将被定义或者修改的属性的描述

<input type="text" id="inp"/>
<p id="showText"></p>
<script>
  var obj = {};
  Object.defineProperty(obj,"newProp",{
    get:function(){
      return obj;
    },
    set:function(newVal){
      document.getElementById("inp").value = newVal;
      document.getElementById("showText").innerHTML = newVal;
    }
  })
  document.addEventListener("keyup",function(e){
    obj.newProp = e.target.value;
  })
</script>
原文地址:https://www.cnblogs.com/ly-qingqiu/p/10320222.html