js最简单的双向绑定实例讲解


Posted in Javascript onJanuary 02, 2018

把代码复制放到页面里面运行看一下效果就好了

<!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最简单的双向绑定实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
Oct 30 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
Mar 19 Javascript
jquery实现点击消失的代码
Mar 03 Javascript
javascript带回调函数的异步脚本载入方法实例分析
Jul 02 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
微信小程序 网络API发起请求详解
Nov 09 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
实例解析angularjs的filter过滤器
Dec 14 Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
H5实现手机拍照和选择上传功能
Dec 18 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
Jan 02 #Javascript
js原生方法被覆盖,从新赋值原生的方法
Jan 02 #Javascript
JS实现验证码倒计时的注册页面
Jan 02 #Javascript
使用socket.io实现简单聊天室案例
Jan 02 #Javascript
使用socket.io制做简易WEB聊天室
Jan 02 #Javascript
AngularJS实现的简单拖拽功能示例
Jan 02 #Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 #Javascript
You might like
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
一个简单的PHP入门源程序
2006/10/09 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
js实现简单模态框实例
2018/11/16 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
Python兔子毒药问题实例分析
2015/03/05 Python
numpy排序与集合运算用法示例
2017/12/15 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
Python collections模块的使用方法
2020/10/09 Python
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
最新销售员个人自荐信
2013/09/21 职场文书
本科应届生求职信
2014/08/05 职场文书
主要领导对照检查材料
2014/08/26 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
Python 图片添加美颜效果
2022/04/28 Python