采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
黄老师 有点我不命名 render命名是匿名函数,也没有参数,为啥调用的时候就有参数了
render = function (){ with(this){ // <div id="app">{{a}}</div> return _c('div',{attrs:{"id":"app"}},[_v(" "+_s(a)+" ")]) } } render.call(vm._renderProxy, vm.$createElement);
你前面写的是模板自动生成的 render 函数,没有参数,因为它内部的函数都是在 vm 上定义的,可以直接访问。那么为啥执行 render 函数的时候要传递参数呢,这个主要是给手写 render 函数的场景用的,比如
new Vue({ render(h) { return h(App) } }).$mount('#app')
原来是这样,还有个小问题,为啥要用with,按说这个不是被唾弃的么 本质上有点像解构
https://mp.weixin.qq.com/s?__biz=MzIxNDc4MjEzNw==&mid=2247483729&idx=1&sn=c50e01bf06c86cf83637919f1dd5c199&chksm=97a31887a0d49191a62c634a45a52037bd8502f16bd0f2992435b1564595aeb8095718048ffb&token=630190640&lang=zh_CN#rd 这篇文章有提到,可以参考
登录后可查看更多问答,登录/注册
全方位讲解 Vue.js 源码,进阶高级工程师
3.0k 4
1.5k 20
1.3k 14
1.2k 12
2.2k 12