从源码中学Vue(五 ) 解析「观察者」Watcher做了什么?( 三 )
Watcher的第二个参数为expOrFn它可以是一个string 或者function
我们实例化的时候传入的实参是updateComponent,它是一个function类型
所以最终是调用的updateComponent()方法,这个方法里面再调用了。vm.__update()方法。
我们再在当前的文件下找到了_update方法的定义
挂载在Vue原型下的方法,可以看出来我圈出来的两行代码。都会触发一个叫vm.__patch__的方法
patch英文的意思就是补丁。它也是虚拟dom的核心方法。内部做了模板的解析。
到了这一步,我们实际上已经找了虚拟dom算法的位置了。这块还是比较复杂的,小编我还没来得及阅读这块的源码,这里就不再深入了。
Vue的发布订阅模式
我们现在知道了了Vue是通过Observer类去劫持数据,Watcher类实现数据的监听并通知更新dom,其实在Vue中还有一个很重要的概念,那就是发布订阅模式(Dep类)
推荐阅读
- windows xp|开发人员从泄漏的Windows XP源码中发现了隐藏功能
- 中学生偷看“不良网站”,以为没人能察觉?手机3种痕迹暴露行踪
- 开源组织逼宫微软,希望其开放Windows 7系统源码!
- 新token钱包区块链猫力多币种量化钱包源码免费分享下载供学习研究
- 8年前割肾买“苹果”的高中学生,现在活成什么样,看完唏嘘不已
- 24岁阿里P 7架构师为你进行spring源码深度解析,听完我立马就跪了
- 阿里十年架构师带你从Spring入门到源码深度解析,深入技术内幕
- 2020年的前端工程师请收下这几个Vue.js开源框架
- Linux 源码现状:内核近三千万行代码,Systemd 130万行代码
- 看看京东掌门人刘强东中学时期照片, 网友: 原来以前合照也靠边站