zoukankan      html  css  js  c++  java
  • vue双向绑定原理

    1.自己尝试实现了下vue的双向绑定原理

    <body>
      <input type="text" id="input1Data"/>
      <input type="text" id="input2Data"/>
      <div id="input1DataView"></div>
      <div id="input2DataView"></div>
    </body>
    <script>
    const dataObj = {
      input1Data: '',
      input2Data: ''
    }
    const list=document.getElementsByTagName("input")
    for(let key in dataObj) {
      Object.defineProperty(dataObj, key, {
        get: function(val) {
          console.log('get', val)
        },
        set: function(val) {
          document.getElementById(key+'View').innerHTML=val
          console.log(key)
        }
      })
    }
    for(let i=0;i<list.length && list[i];i++)
     {
       let name = list[i].id
       list[i].addEventListener('keyup', function(e) {
          dataObj[e.target.id] = e.target.value
        })
     }
    </script>

    运行后的结果(满足双向绑定需求)

  • 相关阅读:
    ARC管理内存(一)
    懒加载lazyload
    View的封装
    Plist文件与数据解析
    ubuntu16.04 安装python3.6
    ubuntu16.04 安装 wxPython方法
    第三章
    第二章
    协方差的意义
    内存区--Java
  • 原文地址:https://www.cnblogs.com/wangxirui/p/11985073.html
Copyright © 2011-2022 走看看