利用Proxy和Reflect实现

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

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

<body>
    <h1>使用Proxy 和 Reflect 实现双向数据绑定</h1>
    <input type="text" id="input">
    <h2>您输入的内容是: <i id="txt"></i></h2>

    <script>
        let input = document.querySelector('#input')
        let text = document.querySelector('#txt')
        //Proxy相当于拦截器,对于对象设置进行拦截
        let newProxy = new Proxy({},{
            //对获取对象属性进行拦截
            get:(target,key,recevier)=>{
                return Reflect.get(target,key,recevier)
            },
            //对设置对象属性进行拦截
            set:(target,key,value,receiver)=>{
                if(key == 'text') text.innerHTML = value    //实现双向数据绑定
                return Reflect.set(target,key,value,receiver)
            }
        })
        //监听输入事件,并绑定到对象中  //e.target是获取目标dom          
                input.addEventListener('keyup',(e)=>{
            newProxy.text = e.target.value
        })


    </script>
</body>

</html>
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务