0

我想构建一个包装器组件,它只是将一些 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 中是否可以通过其他方式实现?

4

0 回答 0