搜尋

首頁  >  問答  >  主體

Vue3:根據父div的類別有條件地為子顯示div

我是 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>

P粉287345251P粉287345251272 天前391

全部回覆(1)我來回復

  • P粉080643975

    P粉0806439752024-02-26 14:50:06

    你也可以使用css來解決這個問題,但如果你想使用“vue-way”,你需要檢查目前投影片才能決定是否顯示內容。

    有關使用的文件(我想說)不是很清楚,但是如果您查看原始程式碼,您會發現 Carousel 元件確實使用 modelValue 來綁定當前索引。

    模板:

    
    
    
    

    所以你有索引(i in v-for="(image, i) in stack.images")並將其與currentSlide進行比較

    回覆
    0
  • 取消回覆