上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
摘要: 这一节争取搞完! 回头来看看那个render代码,为了便于分析,做了更细致的注释; 所有的has拦截器之前分析过了,跳过,但是这里又多了一个特殊的访问,即items,但是Vue$3上并没有这个属性,属性在Vue$3._data上,如图:,那这是如何访问到的呢? Vue在initState的时候自己又 阅读全文
posted @ 2017-08-03 19:07 书生小龙 阅读(617) 评论(1) 推荐(2) 编辑
摘要: 钩子函数比较简单,没有什么意思,这一节搞点大事情 => 源码中v-for的渲染过程。 vue的内置指令包含了v-html、v-if、v-once、v-bind、v-on、v-show等,先从一个入手,其余的也就那么回事。 案例模板依照之前的,但是多加了一个v-for指令,如下所示: 为了保持DOM的 阅读全文
posted @ 2017-08-03 16:39 书生小龙 阅读(1286) 评论(2) 推荐(2) 编辑
摘要: vue源码的马拉松跑完了,可以放松一下写点小东西,其实源码讲20节都讲不完,跳了好多地方。 本人技术有限,无法跟大神一样,模拟vue手把手搭建一个MVVM框架,然后再分析原理,只能以门外汉的姿态简单过一下~ 想到什么写什么了,这节就简单说说钩子函数吧! vue中的钩子函数主要包含初始化的before 阅读全文
posted @ 2017-07-31 18:27 书生小龙 阅读(729) 评论(0) 推荐(1) 编辑
摘要: 二次开发本来就是很恶心的事,我竟然是三次开发。 今天遇到一个BUG,上传图片的时候报错了,操作过程很简答,点击上传按钮,选择图片,确定上传,如图: 报错信息很直白,也很奇怪: (为了写博客,把代码回滚复现BUG,后台应该不会发现吧) 总之,报错很直白,语法错误,Sizzle引擎解析失败,抛出错误。我 阅读全文
posted @ 2017-07-26 11:37 书生小龙 阅读(558) 评论(1) 推荐(1) 编辑
摘要: 怎么感觉遥遥无期了呀~这个源码,跑不完了。 这个系列写的不好,仅作为一个记录,善始善终,反正也没人看,写着玩吧! 接着上一节的cbs,这个对象在初始化应该只会调用create模块数组方法,简单回顾一下到哪了。 后面的暂时不去看,依次执行cbs.create中的方法: 一、updateAttrs 前面 阅读全文
posted @ 2017-07-25 11:06 书生小龙 阅读(2441) 评论(0) 推荐(2) 编辑
摘要: 快完事咯! 简单看了下patch函数,虽然不长,但是实际上很长很长,慢慢来吧, 首先来个总览: 函数总共有6个形参,其中有3个为undefined,内部总共主要是条件判断,按照顺序跑下来。 一、 由于不是SSR,也没有hydrating这个参数,所以会直接创建一个空的虚拟DOM作为oldVnode, 阅读全文
posted @ 2017-07-20 11:22 书生小龙 阅读(1277) 评论(0) 推荐(1) 编辑
摘要: 最近太鸡儿忙了!鸽了一个多月,本来这个都快完了,拖到现在,结果我都不知道怎么写了。 接着上节的话,目前是这么个过程: 函数大概是这里: 然后,在上个月,我卡死在了render.call这个函数上面,因为所有vue实例被设置了proxy代理,所以会跳转到各种奇怪的检测函数中。 过了一个月,我依然看不懂 阅读全文
posted @ 2017-07-19 11:30 书生小龙 阅读(851) 评论(1) 推荐(1) 编辑
摘要: 上一节最后再次调用了mount函数,我发现竟然跳到了7000多行的那个函数,之前我还说因为声明早了被覆盖,看来我错了! 就是这个函数: 第一步query就不用看了,el此时是一个DOM节点,所以直接返回,然后调用了mountComponent函数。 这个函数做了三件事,调用beforeMount钩子 阅读全文
posted @ 2017-06-15 15:51 书生小龙 阅读(1493) 评论(0) 推荐(2) 编辑
摘要: 上节跑完了超长的parse函数: 返回一个ast对象,包括attrs、attrsList、attrsMap、children、plain、tag、type等属性,如图:。 包含了DOM字符串中节点类型、属性、文本内容,接下来进入优化函数:optimize。 首先函数会对静态属性进行缓存: 可以看到, 阅读全文
posted @ 2017-06-13 15:07 书生小龙 阅读(1020) 评论(0) 推荐(1) 编辑
摘要: 上一节讲完了超长的start函数,也同时完结了handleStartTag函数,接着continue进入下一轮while循环。 此时剩余的字符串状态如图:,切掉了<div id='app'>。 再次进入while循环时,发生了一些变化: 第一次进入while循环时,由于字符串以<开头,所以进入sta 阅读全文
posted @ 2017-06-09 17:28 书生小龙 阅读(901) 评论(0) 推荐(1) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页