<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
获取到的值:<span id="bbb"></span>
<br/>
<input type="text" id="aaa"/>
</div>
<!-- <script type="text/javascript" src="./lib/vue-2.6.10.js"></script> -->
<script>
// let obj = {
// bbbVal: ''
// };
// let newObj = JSON.parse(JSON.stringify(obj));
// Object.defineProperty(obj, 'bbbVal', {
// get(){
// return newObj.bbbVal;
// },
// set(val){
// newObj.bbbVal = val;
// observer();
// }
// })
// function observer(){
// bbb.innerHTML = newObj.bbbVal;
// aaa.value = newObj.bbbVal;
// }
// aaa.oninput = function() {
// obj.bbbVal = this.value;
// }
// setTimeout(() => {
// obj.bbbVal = 'setbbbData'
// }, 1000)
/**
*
* 1、对原始数据克隆
* 2、需要分别对对象中的属性单独监听
*
*/
let obj = {};
obj = new Proxy(obj, {
get(target, prop){
console.log("get")
return target[prop];
},
set(target, prop, value){
console.log("set")
target[prop] = value;
observer();
}
})
function observer(){
bbb.innerHTML = obj.bbbVal;
// aaa.value = obj.bbbVal;
}
aaa.oninput = function() {
obj.bbbVal = this.value;
}
</script>
</body>
</html>
v-model双向绑定原理
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- v-model双向绑定原理,实现自定义v-model 本文会随着时间进行更正 再次更新:2019/10/16 15...