Javascript 在插槽组件上切换v-if?
我试图使用Javascript 在插槽组件上切换v-if?,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我试图使用intersectionObserver来防止加载组件,直到它们滚动到视图中为止,如下所示: 用法示例: <lazy-component> <newsletter slot-scope="{}"></newsletter> </lazy-component 如果我理解正确,您可以通过将visible作为数据传递到插槽来完成此操作 LazyComponent.vue <template> <span>
intersectionObserver
来防止加载组件,直到它们滚动到视图中为止,如下所示:
用法示例:
<lazy-component>
<newsletter slot-scope="{}"></newsletter>
</lazy-component
如果我理解正确,您可以通过将visible
作为数据传递到插槽来完成此操作
LazyComponent.vue
<template>
<span>
<slot v-if="visible"></slot>
</span>
</template>
<template>
<span>
<slot :visible="visible"></slot>
</span>
</template>
使用LazyComponent
<lazy-component>
<newsletter slot-scope="{visible}" v-if="visible"></newsletter>
</lazy-component