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必备 api中英文对照的chm手册 下载
May 03 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
使表格的标题列可左右拉伸jquery插件封装
Nov 24 Javascript
浅谈javascript基础之客户端事件驱动
Jun 10 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
Dec 08 Javascript
基于vue 实现token验证的实例代码
Dec 14 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 Javascript
vue form check 表单验证的实现代码
Dec 09 Javascript
vue滚动tab跟随切换效果
Jun 29 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
Jan 16 Javascript
JavaScript实现京东快递单号查询
Nov 30 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
如何用C语言编写PHP扩展的详解
2013/06/13 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
优秀信贷员先进事迹
2014/01/31 职场文书
网络编辑职责
2014/03/01 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
委托书的写法
2014/08/30 职场文书
村党组织公开承诺书
2015/04/30 职场文书
催款函怎么写
2015/06/24 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python