vue双向绑定的原理

文章讲述了如何使用HTML的<input>标签创建文本输入框,并结合JavaScript中的Object.defineProperty方法来监听和设置username属性。当input框的keyup事件触发时,输入值会被赋给对象的username属性,同时更新<span>元素显示的内容。
摘要由CSDN通过智能技术生成

html:

<input type="text" id="username">
<br>
显示值: <span id="uName"></span>

script:

let obj = {}
Object.defineProperty(obj, "username", {  // obj是侦听的对象  username是侦听的属性
    get: function() {
        console.log("取值")
    },
    set: function(val) {
        console.log("设置值")
        document.getElementById("uName").innerText = val
    }
})
// input 监听键盘弹起事件   获取到的值赋值给obj.username,    上面Object.defineProperty侦听到了obj里面的username的值发生了改变, 就会执行set方法
document.getElementById("username").addEventListener("keyup", function() {
    obj.username = event.target.value
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值