js单纯实现双向绑定

2019-08-15  本文已影响0人  不算程序员
  <input type="text" id="txt">
    <div id="app"></div>
    <script>
        var txt = document.getElementById('txt');
        var app = document.getElementById('app');

        var obj2 = {
            html: '',
        }

        app.innerHTML = obj2.html;

      //Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。


        Object.defineProperty(obj2, 'html', {
            set: function (val) {
                app.innerHTML = val;
            }
        });

        txt.oninput = function () {
            obj2.html = this.value;
        }
    </script>

语法:Object.defineProperty(obj, prop, descriptor)
参数:obj: 要在其上定义属性的对象。 prop:要定义或修改的属性的名称。 descriptor: 将被定义或修改的属性描述符。

上一篇 下一篇

猜你喜欢

热点阅读