双向数据绑定原理

博客介绍了双向数据绑定的实现方式,即利用对象对应的址来实现。因为对象赋值是赋址而非值,所以无需用字符串记录值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用对象对应的址实现双向数据绑定,对象赋值是赋址而不是值,这也就是不用字符串记录这个值的原因

{ 对象址 }

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

</head>

<body>

<input type="text" id = "userName" >

<input type="text" id = "userNameTo">

<script>

var demo = {'name':'json'}; //必须是对象

var inputObj = document.getElementById('userName');

var showObj = document.getElementById('userNameTo');

inputObj.addEventListener('input',modelToView); // 绑定事件 当输入值的时候对对象的值进行改变

var model = new Object(null);

Object.defineProperty(model,'name',{ // 对象的值进行改变的时候就会触发

  set:function(value){

  console.log("执行");

  name = value;

  showObj.value = value; // 值改变的时候进行doc操作

},

get:function(){

  return name;

  }

});



function modelToView(){

  console.log("执行函数");

  model['name'] = inputObj.value;

  console.log(model);

}

</script>



</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值