关于normallizeArrayChildren函数问题

来源:2-7 createElement

qq_萦梦踏寻人生_0

2020-07-02

http://img.mukewang.com/szimg/5efd9ac7095e1e3116161240.jpg

这个函数有点不太明白lastIndex,last参数是做什么用的,第一次调用的时候res是个空数组,得到的lastIndex应该是-1吧,然后last又是取res[-1]下的数据这个为什么会这么定义呢?

写回答

1回答

ustbhuangyi

2020-07-02

last 是因为在 normalize 的过程中,last 始终指向 res 的最后一个元素,如果 last 是一个 isTextNode 并且当前要处理的子节点 c 也是一个基础类型的话,他们需要做一层合并。

第一次循环的时候 lastIndex 是 -1,last 就是 undefined,但是并不影响后面的执行逻辑。

0
3
qq_左秋_2
回复
慕侠5245938
因为写 html 的时候,往往会有一些tab,换行符之类的字符。在解析 html 的时候,会把这些字符都解析进去,当作一个节点。
2022-03-15
共3条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4986 学习 · 1038 问题

查看课程