利用defineProperty实现数据的双向绑定
来源:互联网 发布:ubuntu samba权限设置 编辑:程序博客网 时间:2024/05/01 04:26
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。
0 0
- 利用defineProperty实现数据的双向绑定
- vue实现双向绑定的原理Object.defineProperty
- 利用object.defineProperty实现数据与视图绑定
- vue 数据绑定实现的核心 Object.defineProperty()
- 利用定时器实现双向数据绑定效果
- JS中的双向数据绑定及Object.defineProperty方法
- JS中的双向数据绑定及Object.defineProperty方法
- 理解前端数据双向绑定原理——Object.defineProperty()
- 极简使用Object.defineProperty实现双向绑定
- vue如何实现数据的双向绑定
- Vue源码解读——实现一个双向绑定(Object.defineProperty与observe)
- Vue:实现双向数据绑定
- jq 实现数据双向绑定
- js实现双向数据绑定
- Object.defineProperty()的set方法除了用于双向绑定还能干嘛?
- angular利用双向数据绑定改变样式
- AngularJS的数据双向绑定是怎么实现的?
- 用jquery实现的简单数据双向绑定
- maven手册篇
- UVA 11021 Tribbles【概率】
- Android Fragment 你应该知道的一切
- 自定义Dockerfile创建tomcat镜像
- js中typeof和instanceof用法区别
- 利用defineProperty实现数据的双向绑定
- BP神经网络模型与学习算法
- 蓝牙 Mesh会是最好的物联网协议吗?
- adb shell时,提示error: unknown host service的解决办法
- android studio打包自签名apk
- ES6的一些特性
- VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
- 面试:C语言C++小知识总结(2)
- rsync 使用