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 相关文章推荐
javascript中的注释使用与注意事项小结
Sep 20 Javascript
jQuery实现Twitter的自动文字补齐特效
Nov 28 Javascript
Javascript中的高阶函数介绍
Mar 15 Javascript
jQuery zclip插件实现跨浏览器复制功能
Nov 02 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
js中获取键盘事件的简单实现方法
Oct 10 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
Oct 31 Javascript
浅谈vue引入css,less遇到的坑和解决方法
Jan 20 Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 Javascript
Vue.js 利用v-for中的index值实现隔行变色
Aug 01 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
Apr 01 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
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
JavaScript 事件记录使用说明
2009/10/20 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
web打印小结
2017/01/11 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python2 与python3的print区别小结
2018/01/16 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
微观物理专业自荐信
2014/01/26 职场文书
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
2014年防汛工作总结
2014/12/08 职场文书
公司奖励通知
2015/04/21 职场文书
重温入党誓词主持词
2015/06/29 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL