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/jquery对上传文件格式过滤的方法
Jul 25 Javascript
javascript prototype原型操作笔记
Dec 07 Javascript
apycom出品的jQuery精美菜单破解方法
Feb 18 Javascript
Node.js编码规范
Jul 14 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
Mar 04 Javascript
浅谈Javascript数组索引
Jul 29 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
灵活使用console让js调试更简单的方法步骤
Apr 23 Javascript
解决在Vue中使用axios用form表单出现的问题
Oct 30 Javascript
OpenLayers3加载常用控件使用方法详解
Sep 25 Javascript
JavaScript 判断浏览器是否是IE
Feb 19 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的错误信息
2006/10/09 PHP
模仿OSO的论坛(三)
2006/10/09 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
php文件上传类的分享
2017/07/06 PHP
JavaScript的类型简单说明
2010/09/03 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
vue实现购物车小案例
2019/09/27 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
python求斐波那契数列示例分享
2014/02/14 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
小学生安全责任书
2014/07/25 职场文书
安全标兵事迹材料
2014/08/17 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
实习科室评语
2015/01/04 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python