Skip to content

Commit

Permalink
add 1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
raphealguo authored and raphealguo committed Aug 16, 2017
1 parent cf467e9 commit 4a7687f
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
2 changes: 2 additions & 0 deletions .editorconfig
Expand Up @@ -4,3 +4,5 @@ indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
[*.md]
indent_style = tab
12 changes: 6 additions & 6 deletions README.md
Expand Up @@ -29,15 +29,15 @@
我会把每个章节的 **源码行数** 以及 **对应的分支** 标记出来,方便大家可以看到每次源码变更的行数。

1. 第一章 构建一个简单的Vue
* [1.1 Virtual DOM](./1.1.md)
(源码总共231行,[查看代码](https://github.com/raphealguo/how-to-learn-vue2/tree/1.1))
* [1.1 Virtual DOM](./1.1.md)
(源码总共231行,[查看代码](https://github.com/raphealguo/how-to-learn-vue2/tree/1.1))

整个Vue的底层渲染机制是依赖VD的实现,因此先写一个极简的VD算法是非常不错的开头
* [1.2 HTML parser](./1.2.md)
整个Vue的底层渲染机制是依赖VD的实现,因此先写一个极简的VD算法是非常不错的开头
* [1.2 HTML parser](./1.2.md)

(源码总共231行[查看代码](https://github.com/raphealguo/how-to-learn-vue2/tree/1.2)[查看新增代码](https://github.com/raphealguo/how-to-learn-vue2/compare/src/1.1...1.2))
(源码总共639行,[查看代码](https://github.com/raphealguo/how-to-learn-vue2/tree/1.2),[查看新增代码](https://github.com/raphealguo/how-to-learn-vue2/compare/1.1...1.2))

每次手工构造一个 VNode 树效率非常低,而且可读性差,因此这一节会构造一个解释器,能把 HTML 字符串转化成 VNode树
每次手工构造一个 VNode 树效率非常低,而且可读性差,因此这一节会构造一个解释器,能把 HTML 字符串转化成 VNode树

## 关于我

Expand Down
3 changes: 2 additions & 1 deletion src/core/vdom/patch.js
Expand Up @@ -145,13 +145,14 @@ function patchVnode (oldVnode, vnode, removeOnly) {
}
}

export default function patch (oldVnode, vnode, parentElm) {
export default function patch (oldVnode, vnode) {
let isInitialPatch = false

const isRealElement = isDef(oldVnode.nodeType)
if (!isRealElement && sameVnode(oldVnode, vnode)) {// 如果两个vnode节点根一致
patchVnode(oldVnode, vnode)
} else {
// 把 DOM 对象包装成 VNode 对象
if (isRealElement) {
oldVnode = emptyNodeAt(oldVnode)
}
Expand Down

0 comments on commit 4a7687f

Please sign in to comment.