function node2Fragment(node,vm){
//这里是dom劫持,vue会新建一个文档片段来替换dom中本来的结点
var flag=document.createDocumentFragment();
//子节点
var child;
while(child=node.firstChild){
//开始编译每个结点
compile(child,vm);
//**appendchild方法会自动删除node对象的child结点
flag.appendChild(child)
}
return flag;
}
在while循环中,看不太懂循环条件是如何变化的,也就是注释那句话“appendchild方法会自动删除node对象的child节点”不是很理解?望大神解释一下。
这段代码按语义可能是vue框架渲染双向绑定 (viewModel-> view)的过程,
原理就是把原来类似这种dom
渲染成
关于appendChild()请移步MDN参考其文档
https://developer.mozilla.org...