Vue.js 使用Vue模板标记输出html,但不包含嵌套元素

Vue.js 使用Vue模板标记输出html,但不包含嵌套元素,vue.js,Vue.js,我的首要问题是:在Vue中,如何在迭代集合时输出内部html,而不必将其包装在额外的div或span中 具体来说:我在Vue模板中迭代js对象数组。每个对象都有一个输出html的“render”方法 这项工作: template: `<div id="container"> <template v-for="element in elements"> <span v-html="element.render()"></span&g

我的首要问题是:在Vue中,如何在迭代集合时输出内部html,而不必将其包装在额外的div或span中

具体来说:我在Vue模板中迭代js对象数组。每个对象都有一个输出html的“render”方法

这项工作:

template:
`<div id="container">
    <template v-for="element in elements">
        <span v-html="element.render()"></span>
    </template>
</div>
`,
模板:
`
`,
但是我想做如下的事情,因为我不希望输出被包装在div或span中。此代码不产生错误,但也不产生输出:

template:
    `<div id="container">
        <template v-for="element in elements" v-html="element.render()">
        </template>
    </div>
    `,
模板:
`
`,
在一个完美的世界中,我会这样做,但小胡子格式无法输出html:

<div id="container">
    <template v-for="(element, index) in elements">
        {{ element.render() }}
    </template>
</div>

{{element.render()}}
所需输出:

<div id="container">
    (output of element.render())
    (output of element.render())
    (output of element.render())
    etc.
</div>

(元素.render()的输出)
(元素.render()的输出)
(元素.render()的输出)
等
谢谢你的指导

L

完全删除
标记,并在
标记中使用渲染功能。类似这样的东西,但是这段代码没有经过测试,只是演示而已

export default {
  ...
  render (h) {
    return h('div', this.elements.map(function (elm) {
      return h(elm.render())
    })
  }
}

您是否已经检查了您提到的第一个示例的输出效果良好?非常感谢Vladislav。这让我找到了正确的方向。很高兴能帮上忙:)