vue.js利用defineProperty实现数据的双向绑定
更新时间:2017年04月28日 16:55:30 作者:小章鱼哥
本篇文章主要介绍了用Node.js当作后台、jQuery写前台AJAX代码实现用户登录和注册的功能的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
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>
实现效果:
2.兼容性
貌似es5的语法在IE9以下的浏览器不能兼容。所以vue只能兼容ie9以上的浏览器了。
可以使用es5的兼容库:es5-shim。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
相关文章
vue 2 实现自定义组件一到多个v-model双向数据绑定的方法(最新推荐)
有时候我们需要对一个组件绑定自定义 v-model,以更方便地实现双向数据,例如自定义表单输入控件,这篇文章主要介绍了vue 2 实现自定义组件一到多个v-model双向数据绑定的方法,需要的朋友可以参考下2024-07-07
最新评论