vue3.0的proxy浅析内层绑定原理

<div id="app">
<input type="text" id="one" placeholder="请输入文字">
<p id="two"></p>
</div>


<script>
var oInput = document.getElementById('one');
var oHtml = document.getElementById('two');

//需要代理的数据对象
var data = {
text:'hello world'
};
/***
* target 目标对象 此处指data
* prop 被获取的属性名 此处指data的键 text
* value 被获取的值 此处指data.text 'hello world'
* @type {{set: handler.set}}
*/
var handler = {
set:function(target,prop,value){
if(prop == 'text'){
target[prop] = value;
oInput.value = value;
oHtml.innerHTML = value;
return true;
}else{
return false;
}
}
};
oInput.addEventListener('input',function(e){
myText.text = e.target.value;//更新myText的值
},false);
//构造proxy对象
var myText = new Proxy(data,handler);
    //初始化
    myText.text = data.text;
</script>

转载于:https://www.cnblogs.com/hanhaiyuntao/p/11422194.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值