vue render 函数中 jsx中的 scopedSlots为什么访问不到handleClick?

image.png
handleClick 可以打印出来,但是handleClick渲染不出来,a也已渲染出来
image.png
image.png

阅读 1.6k
2 个回答

不是访问不到handleClick,
在jsx解析过程中
{a}是个字符串,会被解析成VNODE
{handleClick} 会被解析为f(),但是它们都是 a这个NODE的childrenNode

1681467523230.png

所以在createElm函数中
1681467674798.png

由于f类型没有.text 属性,所以undefined是这里来的

如果要展示方法你得手动 .toString() 转字符串;
返回值也要执行才行 handleClick = this.handleClick()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题