美文网首页
原生实现vue双向绑定

原生实现vue双向绑定

作者: 不吃鱼的猫_8e95 | 来源:发表于2018-09-15 19:34 被阅读0次
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>简单实现vue双向绑定</title>
</head>

<body>
    <input type="text" id="input">

    <script>
        let obj = {};
        let temp = {};
        //Object.definProperty()方法,第一个参数选择对象  第二个参数选择添加的属性名  第三个属性表示属性的值和属性的配置
        Object.defineProperty(obj, 'name', {
            // configurable:true,  //可配置选型,true;可以配置,删除  false  不可删除
            // value:1

            get() { //取obj赋值,可以触发get()方法,
                return temp.name
            },
            set(val) { //obj的name属性时将会触发set()
                temp.name = val //改变temp的结果
                input.value = val //将值赋予输入框
            }

        })


        input.value = obj.name //将数据和输入狂绑定  页面加载时会调用get()
        input.addEventListener('input', function () { //d等待输入框变化
            obj.name = this.value //当值变化的时候,会调用 set()
        })
    </script>
</body>

</html>

相关文章

网友评论

      本文标题:原生实现vue双向绑定

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