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的6个Tab选项卡插件
Sep 03 Javascript
如何让div span等元素能响应键盘事件操作指南
Nov 13 Javascript
关于火狐(firefox)及ie下event获取的两种方法
Dec 27 Javascript
自己用jQuery写了一个图片的马赛克消失效果
May 04 Javascript
JavaScript中最简洁的编码html字符串的方法
Oct 11 Javascript
Bootstrap3制作图片轮播效果
May 12 Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 Javascript
微信小程序实现无限滚动列表
May 29 Javascript
Vue实现一个无限加载列表功能
Nov 13 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
谈谈IntersectionObserver懒加载的具体使用
Oct 15 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 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
php数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
python处理图片之PIL模块简单使用方法
2015/05/11 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
信号生成及DFT的python实现方式
2020/02/25 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
python 操作excel表格的方法
2020/12/05 Python
物流专业毕业生推荐信范文
2013/11/18 职场文书
工作睡觉检讨书
2014/02/25 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
长城导游词300字
2015/01/30 职场文书
党员转正大会主持词
2015/07/02 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
SQL Server删除表中的重复数据
2022/05/25 SQL Server