你可以在 Vue 模板中渲染 VNode 吗?

Can you render VNodes in a Vue template?(你可以在 Vue 模板中渲染 VNode 吗?)

本文介绍了你可以在 Vue 模板中渲染 VNode 吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个渲染函数将一些数据传递到一个作用域插槽的情况.作为此数据的一部分,我想包括一些由渲染函数构造的 VNode,它们可以选择由作用域插槽使用.在模板中编写作用域插槽以输出接收到的原始 VNode 时是否有任何方法?

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?

推荐答案

您可以使用功能组件为模板的该部分呈现 vnode:

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
  }
}

这篇关于你可以在 Vue 模板中渲染 VNode 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:你可以在 Vue 模板中渲染 VNode 吗?

基础教程推荐