美文网首页
原生JavaScript实现数据的双向绑定

原生JavaScript实现数据的双向绑定

作者: 环零弦 | 来源:发表于2017-12-27 16:00 被阅读0次

整理自《如何用javascript实现双向数据绑定》。

为了实现这个功能我们需要用到js的一个方法Object.defineProperty

1. 属性介绍

  • 语法:Object.defineProperty(obj,prop,descriptor);

  • 描述:

    • obj:必需。目标对象
    • prop:必需。需定义或修改的属性的名字
    • descriptor:必需。目标属性所拥有的特性
  • 用法:

    var demo = {
      name: 'json'
    };
    Object.defineProperty(demo, 'name', {
      value: 'jack',
      writable: true
    })
    //更改demo的name属性值
    demo.name = 'mike';
    //查看name属性
    demo.name // 输出mike
    //小结:value: 设置属性的值
    //      writable: 值是否可以重写。 true | false
    // 如果var demo = {};  则上述方法就会为该对象添加一个name属性并给其赋值
    

2. 方法介绍(就直接上完整例子了)

<html>

<body>
  <input id="userName" style="border: 3px solid #999;" oninput="modelToView(this.value)" />
  <label id="userNameTo" style="border: 3px solid #999;"></label>
  <script type="text/javascript">
    var inputObj = document.getElementById('userName');
    var showObj = document.getElementById('userNameTo');
    var model = new Object(null);
    Object.defineProperty(model, 'user', {
      set: function (value) {
        showObj.innerHTML = value;
        user = value;
      },
      get: function () {
        return user;
      }
    })

    function modelToView() {
      model['user'] = inputObj.value
    }
  </script>
</body>

</html>

label中的内容会随着inputvalue变化而改变。

相关文章

  • Vue框架基础

    原生js与Vue框架的区别 用原生实现双向数据绑定 用Vue实现双向数据绑定 Vue是一个javaScript框架...

  • 【转】JavaScript的观察者模式(Vue双向绑定原理)

    关于Vue实现数据双向绑定的原理,请点击:Vue实现数据双向绑定的原理原文链接:JavaScript设计模式之观察...

  • 数据绑定

    javascript实现数据双向绑定的三种方式

  • 原生JavaScript实现数据的双向绑定

    整理自《如何用javascript实现双向数据绑定》。 为了实现这个功能我们需要用到js的一个方法Object.d...

  • vue 双向数据绑定

    Vue实现数据双向绑定的原理:Object.defineProperty()vue实现数据双向绑定主要是:采用数据...

  • JavaScript 实现双向数据绑定

    双向数据绑定指的就是,绑定对象属性的改变到用户界面的变化的能力,反之亦然。换种说法,如果我们有一个user对象和一...

  • Vue实现数据双向绑定的原理

    Vue实现数据双向绑定的原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数...

  • vue表单

    vue中表单主要通过v-model实现数据的双向绑定,实现原理主要通过javascript的object.defi...

  • 深入Vue响应式原理

    1.Vue的双向数据绑定 参考 vue的双向绑定原理及实现Vue双向绑定的实现原理Object.definepro...

  • 美团面试总结

    1.angularJS双向绑定实现2.双向绑定的其他实现3.使用get,set实现双向数据绑定4.三列布局实现的三...

网友评论

      本文标题:原生JavaScript实现数据的双向绑定

      本文链接:https://www.haomeiwen.com/subject/tvpugxtx.html