这篇文章主要介绍了Vue Object.defineProperty及ProxyVue实现双向数据绑定,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
双向数据绑定无非就是,视图 => 数据,数据 => 视图的更新过程
以下的方案中的实现思路:
- 定义一个Vue的构造函数并初始化这个函数(myVue.prototype._init)
- 实现数据层的更新:数据劫持,定义一个 obverse 函数重写data的set和get(myVue.prototype._obsever)
- 实现视图层的更新:订阅者模式,定义个 Watcher 函数实现对DOM的更新(Watcher)
- 将数据和视图层进行绑定,解析指令v-bind、v-model、v-click(myVue.prototype._compile)
- 创建Vue实例(new myVue)
1.object.defineproperty方式实现双向数据绑定
<title>myVue</title> #app{ text-align: center; } <div id="app"> <button type="button">增加</button><h3></h3></div>
2.Proxy 实现双向数据绑定
<title>myVue</title> #app{ text-align: center; } <div id="app"> <button type="button">增加</button><h3></h3></div>
3
本文来源gaodai.ma#com搞##代!^码@网*
.将上面代码改成class的写法
<title>myVue</title> #app{ text-align: center; } <div id="app"> <button type="button">增加</button><h3></h3></div>
以上就是Vue Object.defineProperty及ProxyVue实现双向数据绑定的详细内容,更多请关注gaodaima搞代码网其它相关文章!