javascript 虚拟DOM转化成真实的DOM节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 虚拟DOM转化成真实的DOM节点相关的知识,希望对你有一定的参考价值。
let vdom = {
tag:"ul",
attrs:{
key:"111",
"class":"ulclass"
},
innerText:"innerText", // 不属于子节点的文字
children:[
{
tag:"li",
attrs:{
id:"aaa"
},
innerText:"1111"
},{
tag:"li",
attrs:{
id:"bbb"
},
innerText:"222"
}
]
}
function vdomToDom(vdom){
//创建根节点
let realdom = document.createElement(vdom.tag)
//设置属性
for(key in vdom.attrs){
realdom.setAttribute(key,vdom.attrs[key])
}
//设置节点内的文字
if(realdom.innerText != undefined){ // 为什么不能用 if(realdom.innerText) ?? 奇
realdom.innerText = vdom.innerText
}
//添加子节点
if(vdom.children){
vdom.children.forEach(function (childVdom) {
realdom.appendChild(vdomToDom(childVdom))
})
}
return realdom
}
document.body.appendChild(vdomToDom(vdom))
以上是关于javascript 虚拟DOM转化成真实的DOM节点的主要内容,如果未能解决你的问题,请参考以下文章
react 虚拟dom
《关于实现一个函数把真实dom转换成虚拟dom原来是这么一回事》
虚拟dom到真实dom
深度思考 jsx虚拟 dom
React篇(010)-为什么虚拟 dom 会提高性能?
虚拟DOM(Virtual DOM)