问题
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:
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
}
}
来源:https://stackoverflow.com/questions/49352525/can-you-render-vnodes-in-a-vue-template