vue实现双向数据绑定原理是什么?的发valkdnvalkdnvmlncnadkvnaksdvnakjsdnvkajdnvkja。
4条回答 默认 最新
关注目前几种主流的mvc(vm)框架都实现了单向数据绑定(例如react就是典型的数据单向绑定),简单的理解双向数据绑定无非就是在单向绑定的基础上给可输入元素(input、textare等)添加了change(input)事件,来动态修改model和 view。
1.首先,需要利用Object.defineProperty,将要观察的对象,转化成getter/setter,以便拦截对象赋值与取值操作,称之为Observer,也就是数据观察者;
2.需要将DOM解析,提取其中的指令与占位符,并赋与不同的操作,称之为Compile,也就是指令解析器;
3.需要将Compile的解析结果,与Observer所观察的对象连接起来,建立关系,在Observer观察到对象数据变化时,接收通知,同时更新DOM,称之为Watcher,也就是订阅者,它是Observer和Compile之间通信的桥梁;
4.最后,需要一个公共入口对象,接收配置,协调上述三者,称为vm,也就是Vue;评论 打赏 举报解决 2无用