我是 Vue 新手,我正在研究这个 Vue3 轮播插件中的活动类示例。我想仅显示 carousel__slide--active
类的文本和链接 div,但现在所有 carousel__items
都会显示其相应的文本和链接。看来我应该能够仅针对子类 carousel__slide--active
执行 v-if 或 v-bind 来显示 image.text 和 image.link,但我无法让其中任何一个工作。任何建议将不胜感激。
相关代码:
<Slide v-for="(image) in stack.images" :key="image"> <div class="carousel__item"> <img :src="image.src" :alt="image.alt" :text="image.text" :link="image.link" /> <!-- <div class="{ 'carousel__slide--active': true }"> --> <!-- <div v-bind:class="{ 'carousel__slide--active': isActive }"> --> <div class="overlay-shown"> <div v-if="image.text" class="stack-text">{{ image.text }} </div> <div v-if="image.link" class="stack-text"> <a v-bind:href="image.link">View Video</a> </div> </div> <!-- </div> --> </div> </Slide> <style> .carousel__slide--active > .carousel__item { transform: scale(1); box-shadow: 8px 8px 5px -4px rgba(0, 0, 0, 0.5); z-index: 999 !important; } .overlay-shown { width: 600px; height: auto; background-color: #006eb7; } </style>
你也可以使用css来解决这个问题,但是如果你想使用“vue-way”,你需要检查当前幻灯片才能确定是否显示内容。
有关使用的文档(我想说)不是很清楚,但是如果您查看源代码,您会发现
Carousel
组件确实使用modelValue
来绑定当前索引。模板:
所以你有索引(
i
inv-for="(image, i) in stack.images"
)并将其与currentSlide
进行比较