Vue.js 使用Vue模板标记输出html,但不包含嵌套元素
我的首要问题是:在Vue中,如何在迭代集合时输出内部html,而不必将其包装在额外的div或span中 具体来说:我在Vue模板中迭代js对象数组。每个对象都有一个输出html的“render”方法 这项工作: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
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。这让我找到了正确的方向。很高兴能帮上忙:)