|
我们知道在 `AST` 中一个标签对应一个元素描述对象,所以从结果上看,`preTransformNode` 函数将一个 `input` 元素描述对象扩展为三个 `input` 标签的元素描述对象。但是由于扩展后的标签由 `v-if`、`v-else-if` 和 `v-else` 三个条件指令组成,我们在前面的分析中得知,对于使用了 `v-else-if` 和 `v-else` 指令的标签,其元素描述对象是会被添加到那个使用 `v-if` 指令的元素描述对象的 `el.ifConditions` 数组中的。所以虽然把一个 `input` 标签扩展成了三个,但实际上并不会影响 `AST` 的结构,并且从渲染结果上看,也是一致的。
|
|
我们知道在 `AST` 中一个标签对应一个元素描述对象,所以从结果上看,`preTransformNode` 函数将一个 `input` 元素描述对象扩展为三个 `input` 标签的元素描述对象。但是由于扩展后的标签由 `v-if`、`v-else-if` 和 `v-else` 三个条件指令组成,我们在前面的分析中得知,对于使用了 `v-else-if` 和 `v-else` 指令的标签,其元素描述对象是会被添加到那个使用 `v-if` 指令的元素描述对象的 `el.ifConditions` 数组中的。所以虽然把一个 `input` 标签扩展成了三个,但实际上并不会影响 `AST` 的结构,并且从渲染结果上看,也是一致的。
|