vue.js利用defineProperty实现数据的双向绑定
2017-04-28 16:55
1601 查看
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。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- 利用defineProperty实现数据的双向绑定
- 应用defineProperty简单实现vue的双向数据绑定
- vue.js--基础 事件结合双向数据绑定实现todolist 待办事项 已经完成 和进行中,键盘事件
- Vue.js双向绑定内核—Object.defineProperty解析
- vue 数据绑定实现的核心 Object.defineProperty()
- Vue源码解读——实现一个双向绑定(Object.defineProperty与observe)
- 使用Object.defineProperty实现简单的js双向绑定
- vue.js--基础 事件结合双向数据绑定实现todolist,增加和删除功能
- vue 数据绑定实现的核心 Object.defineProperty()
- vue.js双向数据绑定实现原理
- vue.js使用v-model指令实现的数据双向绑定功能示例
- 使用Object.defineProperty实现简单的js双向绑定
- Vue.js双向数据绑定实现
- JS中的双向数据绑定及Object.defineProperty方法
- Vue 双向数据绑定原理分析 以及 Object.defineproperty语法
- 利用object.defineProperty实现数据与视图绑定
- 双向数据绑定实现之Object.defineProperty
- JS中的双向数据绑定及Object.defineProperty方法
- Vue.js实现双向数据绑定(表单自动赋值、表单自动取值)
- vue.js双向数据绑定原理解析及模拟demo的实现