这篇文章主要介绍“js的双向绑定实例讲解”,在日常操作中,相信很多人在js的双向绑定实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js的双向绑定实例讲解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
把代码复制放到页面里面运行看一下效果就好了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="myinput" >
<script>
function watch(obj,key,callback) {
var old = obj[key];
Object.defineProperty(obj,key,{
set:function(val){
var oldVal = old;
old = val;
callback(val,oldVal,this);
},
get:function(){
return old;
}
});
}
var input = document.getElementById("myinput");
var obj = {};
watch(obj, "input",function (val) {
input.value = val;
console.log("这里是不管view层,还是module层修改后的回调,最后设置的值是"+val);
});
input.onkeyup = function () {
obj.input = input.value;
};
</script>
</body>
</html>
代码测试
修改了input内的值,会看到控制台打印出新的值
在控制台修改obj.input的值,input框内的值也会跟着改变,也会触发事件,获取新值
到此,关于“js的双向绑定实例讲解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!