码迷,mamicode.com
首页 > Web开发 > 详细

利用原生JS实现VUE中的双向绑定

时间:2020-03-15 13:07:22      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:cti   col   init   控制台   code   lis   console   lan   name   

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>
    <input type="text" id="userName">
    <br>
    <span id="uName"></span>
    <script>
        var obj = {
            pwd: "1234"
        };
        //主要使用到了get和set方法,最为关键
        Object.defineProperty(obj, "userName", {
            get: function() {
                console.log(get init);
            },
            set: function(val) {
                console.log("set init");
                document.getElementById("uName").innerText = val;
                document.getElementById("userName").value = val;
            }
        });
        document.getElementById("userName").addEventListener("keyup", function(event) {
            obj.userName = event.target.value;
        })
    </script>
</body>

</html>

运行上述的dome,可以使用控制台,obj.username=123赋值,会自动触发set方法。若我们在控制台使用obj.username拿值可以触发get方法,也就是vue的双向数据绑定的核心点。

利用原生JS实现VUE中的双向绑定

标签:cti   col   init   控制台   code   lis   console   lan   name   

原文地址:https://www.cnblogs.com/tg666/p/12496915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!