Vue原理—初探双向绑定

对于流行的MVVM,本着了解一下的原理,因为自身是做后台的,对js的掌握一般,首先我们要对MVVM有个基本认识,MVVM是Model-View-ViewModel 的缩写,一张图带你了解


a.png

有了基本认识后就可以上手写代码了,不懂没关系,直接复制粘贴,看了运行效果后再回头深究它的实现过程

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>双向绑定1</title>    
</head>
<body>
    <div>
        <input type="text" id = "a"/>
    </div>
    <div>
        <span id="b"></span>    
    </div>
    <script type="text/javascript">
        var obj = {} ;
        Object.defineProperty(obj,'test',{
            set:function(val){
                document.getElementById('a').value = val ;
                document.getElementById('b').innerHTML = val ;
            }
        });
        //添加监听事件 keyup 指定什么条件下触发
        document.addEventListener('keyup',function(e){
            console.log(e) ;
            obj.test = e.target.value ;
        })
    </script>
</body>
</html>

上面有两个重要的方法

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

addEventListener("指定条件",function(e){}) 添加监听事件

根据控制打印的信息,看如下截图


代码运行后,就可以看到输入框输入的值可以在下方span中显示
这只是一个简单的数据绑定,文章末尾会推荐一个github地址,里面有关于Vue双向绑定的实现,推荐刚入门的可以去看看

github地址Vue双向绑定的简单实现
最后祝大家儿童节快乐

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容