虚拟DOM(virtual DOM)

虚拟DOM(virtual DOM)
相似问题:
1.什么是虚拟dom?
2.什么是render渲染函数
3.虚拟dom实现的原理
除了字符串模板,还可以使用render渲染函数来创建HTML,它更接近编译器
vue在使用render渲染函数在内存中生成与真实DOM相对应的数据结构,这个在内存中生成的结构称之为虚拟DOM.
render函数语法格式:render(createElement){ return createElement(标签名,[数据对象],子元素) }
createElement()函数返回一个对象, 就是虚拟DOM => vnode
示例1:

<div class="box">

</div>

<script>
    new Vue({
        el: '.box',
        data: {
            msg: 'hello vue'
        },
        render: function(createElement) {
            return createElement('h1', '一则头条')
        },
    })
</script>
示例2:
'    <style>
    .bg {
    background: #abcdef;
}
</style>
<div id="dome">
    <div>{{message}}</div>
</div>
<script>
new Vue({
    el: "#dome",
    data: {
        message: "hello world"
    },
    render(createElement) {
        return createElement(
            "ul",
            {
                class: { bg: true },
                style: { color: '#fff', textDecoration:"underline"},
                on: {
                    click: function(){
                        alert(1)
                    }
                }
            },
            [
                createElement("li", '苹果'),
                createElement("li", '香蕉'),
                createElement("li", this.message),
            ]
        );
    }
});
</script>'
4.虚拟dom的优点?
大量的操作DOM会影响性能,在更新数据后会重新渲染页面,这样造成在没有改变数据的地方也重新渲染DOM节点,这样就造成了很大程度上的资源浪费.
当数据发生变化时,能够智能地计算出重新渲染组件的最小代价并应用到DOM操作上.
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201107140957118.png#pic_center)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值