vue 中一般使用 v-model做数据双向绑定 今天用JS实现下
<p></p>
<input type="text">
// 再定义一个数据常量
const data = {
msg: '哈哈哈',
}
var ps = document.querySelector('p')
var inputs = document.querySelector('input')
// 把msg 赋值给两个显示标签
ps.innerText = data.msg
inputs.value = data.msg
下面开始做数据绑定
inputs.addEventListener("input", function() {
data.msg = inputs.value;
console.log(data.msg);
ps.innerText = data.msg;
console.log('input数据改变了');
});
// 首先拿到现在的值
var temp = data.msg
Object.defineProperty(data, "msg", {
get() {
console.log('get' + temp)
return temp
},
set(e) {
在控制在中动态修改msg 的值这里就会发生变化
temp = e
inputs.value = e
ps.innerText = inputs.value
}
})
到这在js中做数据动态绑定就完成了