vue.js利用defineProperty实现数据的双向绑定


Posted in Javascript onApril 28, 2017

vue.js如何实现数据的双向绑定呢?

与angular不同。

vue利用的是es5的defineproperty特性。

1.一个小例子

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
<input type="text" id="demo">
<p id="display"></p>
<script>
  var obj={};
  var bind=[];
  //触发obj对象set和get方法的时候,趁机来输出或修改bind数组的内容
  Object.defineProperty(obj,'s',{
    set:function(val){
      bind['s']=val;
    },
    get:function(){
      return bind['s'];
    }
  })
  var demo=document.querySelector('#demo');
  var display=document.querySelector('#display');
  //#demo的value值与bind['s']绑定,#display的innerHTML也与bind['s']绑定。
  demo.onkeyup=function(){
    obj['s']=demo.value;//触发了obj的set方法,等于#demo的value值赋值给bind['s']。
    display.innerHTML=bind['s'];
  }
</script>
</body>
</html>

实现效果:

vue.js利用defineProperty实现数据的双向绑定

2.兼容性

貌似es5的语法在IE9以下的浏览器不能兼容。所以vue只能兼容ie9以上的浏览器了。

可以使用es5的兼容库:es5-shim。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
基于jQuery替换table中的内容并显示进度条的代码
Aug 02 Javascript
javascript中eval解析JSON字符串
Feb 27 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
jQuery文字轮播特效
Feb 12 Javascript
Angular 4.x 动态创建表单实例
Apr 25 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
AngularJS读取JSON及XML文件的方法示例
May 25 Javascript
详解vue微信网页授权最终解决方案
Jun 16 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
JavaScript实现原型封装轮播图
Dec 27 Javascript
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 #jQuery
Javascript实现数组中的元素上下移动
Apr 28 #Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 #jQuery
JS简单判断滚动条的滚动方向实现方法
Apr 28 #Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 #Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
Apr 28 #Javascript
jquery实现图片上传前本地预览
Apr 28 #jQuery
You might like
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
HTML node相关的一些资料整理
2010/01/01 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
HTML5 canvas基本绘图之绘制线段
2016/06/27 HTML / CSS
什么是.net
2015/08/03 面试题
千元咖啡店的创业计划书范文
2013/12/29 职场文书
小学校园活动策划
2014/01/30 职场文书
人事部专员岗位职责
2014/03/04 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
调解书格式范本
2015/05/20 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书