vue中this.init用法_vue1.0 中_initData 数据绑定一步一步学习

vue怎么实现的双向绑定?刚入坑的恐怕都能立马说出defineProperty这个东西,这是好事情,但如果对Object.defineProperty不熟的希望点右边链接再来看这篇文章。记得回来哦

话不多说直接上图 调用栈 stateMixin(vue)将_initState挂到vue的原型链上,当new Vue的_init会进行状态初始化。

26888967d53c2213f7e6004dea4024fa.png

_proxy 给vm实例添加get set方法可直接修改查找 vm实例上 example: vm.name 直接操作的是vm._data.name

b3842ed88465c5854f3f6f1f20554e77.png

上面的判断是告诉你只有当前这个组件没有props的时候 说白了他不是一个template模版组件就会干这件事

2.重头戏来了 observe 这才是老大哥。就在上图的最底下 虽然作者轻描淡写了observe data ==

3.observe 中一进来就判断了当前需要监听的是否是对象,不是就无需监听了,如果是那么判断对象上是否有__ob__属性,如果有直接返回__ob__的值(监听的对象上observe对象,可见4),防止一个对象多次重复监听。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值