最简单方法实现vue双向数据绑定
程序员文章站
2024-03-18 18:42:34
...
相信了解到vue.js都知道,vue能实现双向绑定,这里简单写一个demo去理解双向绑定,主要是用到Object的defineProperty对象对数据进行劫持,通过改变属性触发set方法,代码如下:
html:
<input type="text" id="userName">
<p id="value"></p>
javascript:
var obj = {};
Object.defineProperty(obj,'userName',{
set:function (val) {
console.log('set init');
document.getElementById('value').innerText = val;
document.getElementById('userName').value = val;
},
get:function () {
console.log('get init');
return 1;
}
});
document.getElementById('userName').addEventListener('keyup',function (e) {
obj.userName = e.target.value;//通过给userName赋值触发set方法
});