我想构建一个包装器组件,它只是将一些 JavaScript 添加到传入的实际组件中,但不创建额外的 HTML 元素。
这可行,但会创建一个 div 作为根元素:
<template>
<div v-observe-visibility="{ callback: isViewableNow, once: true }"
:class="{ 'visible animated slideInRight': showAnimation, 'invisible': !showAnimation }">
<slot/>
<div/>
</template>
我想要类似的东西,不添加 div,比如:
<template>
<slot v-observe-visibility="{ callback: isViewableNow, once: true }"
:class="{ 'visible animated slideInRight': showAnimation, 'invisible': !showAnimation }"/>
</template>
然而,这给了我错误:
不能用作组件根元素,因为它可能包含多个节点。
这在 Vue 中是否可以通过其他方式实现?