美文网首页
虚拟节点转真实节点

虚拟节点转真实节点

作者: 罗不错 | 来源:发表于2020-10-20 15:41 被阅读0次

let vNode = [{
tag: 'div',
attr: {
class: 'luo'
},
children: [{
tag: 'span',
attr: {
id: 'jie',
events: {
onclick() {
alert(1)
}
}
},
children: 'hello world !'
}]
}]
let domOper = {
insert(el, target) {
el.appendChild(target)
},
createElement(tag) {
return document.createElement(tag)
},
setAttribute(el, attrs) {
Object.keys(attrs).forEach(key => {
if (key == 'events') {
let events = attrs[key]
Object.keys(events).forEach(event => {
el[event] = events[event]
})
} else {
el.setAttribute(key, attrs[key])
}
})
},
setText(el, text) {
el.innerText = text
}
}
let container = document.getElementById('container')
renderVNode(vNode, container)

            function renderVNode(vNode, container) {

                if (Array.isArray(vNode)) {
                    vNode.forEach(item => {
                        let el = domOper.createElement(item.tag)
                        domOper.setAttribute(el, item.attr)
                        domOper.insert(container, el)
                        renderVNode(item.children, el)
                    })
                } else if (typeof vNode == 'string') {
                    domOper.setText(container, vNode)
                }
            }

相关文章

  • 虚拟节点转真实节点

    let vNode = [{tag: 'div',attr: {class: 'luo'},children: [...

  • vue渲染流程

    把模板转化成render函数 调用render函数产生虚拟节点,将虚拟节点插入到真实节点上 生成render函数方...

  • vue-diff算法

    虚拟DOM(Virtual Dom),也就是我们常说的虚拟节点,是用JS对象来模拟真实DOM中的节点,该对象包含了...

  • 2021-03-06 虚拟dom - 01

    入口文件 h方法的实现 (创建虚拟节点) 创建虚拟节点 vnode.js patch (render) 将虚拟节点...

  • 两种方法实现vue的虚拟DOM

    虚拟DOM的优势 首先是可以对真实的元素节点进行抽象,抽象成VNode(虚拟节点),这样方便后续对其进行各种操作因...

  • Vue虚拟Dom与diff算法原理

    什么是虚拟DOM? 真实的元素节点: 为什么使用虚拟DOM? 虚拟DOM的作用是什么? 虚拟DOM和真实DOM的区...

  • React DOM diff

    virtul DOM 也就是虚拟节点。通过JS的Object对象模拟DOM中的真实节点对象,再通过特定的rende...

  • React 虚拟DOM

    virtul DOM 也就是虚拟节点。通过JS的Object对象模拟DOM中的真实节点对象,再通过特定的rende...

  • vue中虚拟节点原理

    一、虚拟节点比较通俗易懂的 vue中虚拟节点原理 二、vue里的虚拟节点接口: https://github.co...

  • 什么是Virtual DOM?

    Virtual DOM——虚拟节点,听名字挺牛的,其实很简单,它其实就是个js对象,这个对象把真实dom节点做了描...

网友评论

      本文标题:虚拟节点转真实节点

      本文链接:https://www.haomeiwen.com/subject/xwydmktx.html