vue.js - 带引导轮播的 Vue JS 如何将图像传递到轮播

标签 vue.js vuejs2 bootstrap-4

我的需求是这样的。

  1. 我从后端获得了图像列表。
  2. 我想将这些图片名称传递给carousel 以显示图片。

这是我的代码。

<template>
  <div class="">
    <div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">

    <div class="carousel-item active" v-for="banner in banners">
      <img :src="`./assets/${banner}`" alt=""  class="img-fluid"   >

    </div>

  </div>
</div>
  </div>
</template>


<script>

export default {
  name: 'app',
  data () {
    return {
      banners:["logo.png","index.png","Capture.png"]
    }
  },
  methods:{

  }
}
</script>

但是这个方法行不通。如何将图像传递到我的carousel 元素?

最佳答案

问题是您将所有轮播幻灯片设置为active,因此它们将同时显示。使用 :class 有条件地设置事件幻灯片...

<div class="carousel-item" v-for="(banner,idx) in banners" :class="{ active: idx==0 }">
      <img :src="banner" alt="" class="img-fluid">
</div>

此外,请确保 :src="'./assets/${banner}'" 引用确实能找到图片。

Working demo on Codeply

注意:您想要使用 jQuery $('.carousel').carousel(); 加载 Carousel因为您已经在使用 data-ride="carousel" 属性。如前所述 in the Bootstrap 4 docs ...

The data-ride="carousel" attribute is used to mark a carousel as animating starting at page load. It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.

关于vue.js - 带引导轮播的 Vue JS 如何将图像传递到轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49571307/

相关文章:

javascript - 如何比较 Vuejs 中的日期?

javascript - 在没有插值的情况下在 vue 2 模板中设置部分属性(用于超赞字体图标)的解决方法?

javascript - 无法访问 .beforeEach() 中的 Buefy 组件

vuejs2 - 在 Vuetify 中使用自定义主题并将颜色变量传递给组件

css - 使用 bootstrap 4 配色方案安装 bootstrap 5

javascript - VueJS Google 放置自动完成功能

vue.js - Vuetify - 修复了带有绝对页脚的 NavigationDrawer 留下了不必要的空间

javascript - Vue2 过渡模式不起作用

css - 如何在背景图片下方添加文字?

javascript - 如何从外部链接导航到 bootstrap 4 的特定选项卡