vue render传入this_【Vue原理】Render - 源码版 之 主要 Render

本文深入探讨Vue的渲染过程,重点关注vm._v和vm._c在生成Vnode节点中的作用。通过源码分析,揭示Vue如何通过render函数创建Vnode,包括文本节点的创建、元素节点的创建以及遍历数据生成Vnode的机制。文章还简要提及render的执行时机和其在DOM挂载过程中的角色。
摘要由CSDN通过智能技术生成

68385a56ddd28ebc8f3688e77f742499.png
写文章不容易,点个赞呗兄弟
专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧 研究基于 Vue版本 【2.5.17】

如果你觉得排版难看,请点击 下面链接 或者 拉到 下面关注公众号也可以吧

【Vue原理】Render - 源码版 之 主要 Render

compile 我们已经讲了九篇的内容了,终于走到了 render,今天就来给自己记录下渲染三部曲的第二部,render,咦,render 内容不多的,就两篇文章哈哈哈

噔噔噔噔

render 的作用大家应该清楚

就是 执行 compile 生成的 render函数,然后得到返回的 vnode 节点

比如现在存在这个简单的模板

b44f5507c5aefc323680e67f0b7d9b76.png

经过 compile 之后,解析成了对应的 render 函数,如下

function render() {    

    with(this) {        

        return _c('div', {            

            attrs: {                

                "data": 111

            }
        },
        [_v(111)])
    }
}

看着这个莫名其妙的 render 函数,里面都是些什么东西?

不怕,主要是出现了两个函数,我们要探索的就是这两个东西

_c , _v

这个两个函数的作用,都是创建 Vnode,但是创建的过程不一样

并且 render 函数执行的时候,会绑定上 模板对应的实例 为上下文对象

模板是属于哪个实例的,就绑定哪个实例

render.call(实例)

再通过 with 的作用

调用 _c 和 _v 就相当于 vm._c 和 vm._v


什么是 vm._v

现在就来看看 vm._v 是哪里来的

function installRenderHelpers(target) {
    target.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值