Can you render VNodes in a Vue template?

2019-03-19 10:27发布

I have an situation where I have a render function that passes some data to a scoped slot. As part of this data I'd like to include some VNodes constructed by the render function that could optionally be used by the scoped slot. Is there anyway when writing the scoped slot in a template to output the raw VNodes that were received?

1条回答
太酷不给撩
2楼-- · 2019-03-19 10:53

You can use a functional component to render the vnodes for that section of your template:

<some-component>
  <div slot-scope="{ vnodes }">
    <vnodes :vnodes="vnodes"/>
  </div>
</some-component>
components: {
  Vnodes: {
    functional: true,
    render: (h, ctx) => ctx.props.vnodes
  }
}
查看更多
登录 后发表回答