资讯专栏INFORMATION COLUMN

笔记:Vue数据响应式绑定原理—观源码

Chiclaim / 250人阅读

摘要:没有具体对应源码分析,只是阅读源码的笔记,等之后学好点再写成文章,构造生成的。带指令的所有元素,通过获取,涉及,返回属性选择器对里的进行绑定处理节点提取所有,返回数组,元素是对象,包含。

没有具体对应源码分析,只是阅读源码的笔记,等之后学好点再写成文章

Vue

self,构造生成的this。

root根元素。

els带指令的所有元素,通过querySelectorAll获取,涉及getDirSelectors,返回"[v-text],[v-show]"(属性选择器)
bindings对data里的进行绑定?

处理节点processNode

提取所有attributes,getAttributes返回数组,元素是对象,包含name、value。

[{name:"v-text",value:"message"},{}]
使用了el.attributes, 这个返回一下结果,太多,用getAttributes过滤一下

对提取的所有指令进行解析,parseDirective,返回以下结果,对于v-show="isShow"

绑定指令bindDirective

key是要指向data的key,所以其实是attr的value

bindDirective的最后用bindAccessors进行defineProperty设定get、set

defineProperty绑定的set、get是在vm上,所以初始化只需要给vm的相应属性赋值

初始化

遍历bindings并赋值到vm

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82185.html

相关文章

  • Vue数据响应原理笔记 就几行没啥可看的

    摘要:什么是数据响应式数据响应式既数据双向绑定,就是把绑定到,当我们用代码更新时,就会自动更新如果用户更新了的数据也自动本更新。数据响应式的原理实现数据响应式的原理就是利用了这个方法重新定义了对象获取属性值和设置属性值的操作来实现。 1、什么是数据响应式 数据响应式既数据双向绑定,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新;如果用户...

    SillyMonkey 评论0 收藏0
  • 关于Vue2一些值得推荐的文章 -- 五、六月份

    摘要:五六月份推荐集合查看最新的请点击集前端最近很火的框架资源定时更新,欢迎一下。苏幕遮燎沈香宋周邦彦燎沈香,消溽暑。鸟雀呼晴,侵晓窥檐语。叶上初阳乾宿雨,水面清圆,一一风荷举。家住吴门,久作长安旅。五月渔郎相忆否。小楫轻舟,梦入芙蓉浦。 五、六月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 苏...

    sutaking 评论0 收藏0
  • 关于Vue2一些值得推荐的文章 -- 五、六月份

    摘要:五六月份推荐集合查看最新的请点击集前端最近很火的框架资源定时更新,欢迎一下。苏幕遮燎沈香宋周邦彦燎沈香,消溽暑。鸟雀呼晴,侵晓窥檐语。叶上初阳乾宿雨,水面清圆,一一风荷举。家住吴门,久作长安旅。五月渔郎相忆否。小楫轻舟,梦入芙蓉浦。 五、六月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 苏...

    khs1994 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<