Bootstrap carousel TypeError:$ next [0]未定义

时间:2017-12-07 12:31:38

标签: javascript twitter-bootstrap carousel typeerror

我使用Vue2在Laravel 5.5网站上构建了一个引导程序轮播。一切都运行良好,但现在,突然,幻灯片不能正常滑动,控制台抛出以下TypeError:

  

TypeError:$ next [0]未定义

向后滑动很好,但是当向右滑动(即下一张幻灯片)时,旋转木马会显示一些空白区域或直接跳到下一张幻灯片而不会滑动。 我通过CDN导入bootstrap。这就是我的轮播看起来像(包括Vue指令):

<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
        <div class="carousel-inner">
            <figure v-for="(pic, index) in pics" :class="(pic_key === index) ? 'carousel-item active' : 'carousel-item'">
                <img class="d-block w-100" :src="pic" alt="">
            </figure>
        </div>
        <a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            <span class="sr-only">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExampleControls" role="button" data-slide="next">
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
        </a>
    </div>

这是我的Vue文件(app.js):

require('./bootstrap');
window.Vue = require('vue');
window.filters = require('vue2-filters');
window.Event = new Vue();

Vue.component('location_map', require('./components/HomeMaps.vue'));

Vue.component('modal', {
    props: ['pic_key', 'pics', 'showGalleryModal'],
    template: `
        <div class="modal is-active">
            <div class="modal-background"></div>
            <div class="modal-content">
                <slot></slot>
            </div>
            <button class="modal-close is-large" aria-label="close" @click="$emit('close')"></button>
        </div>
    `
});

Vue.use(filters);

new Vue({
    el: '#root',
    data() {
        return {
            showGalleryModal: false,
            pic_key: 0,
            pics: [],
        }
    }
});

正如您可能已经注意到的那样,还有另一个文件组件在网站的另一个页面上执行某些操作。我实现了这个其他组件后发生了错误,但是我不明白为什么它应该影响轮播,因为它与它无关(它甚至根本不使用引导程序)......

然而,是否有人知道如何解决这个问题?这可能只是一个引导错误吗?

1 个答案:

答案 0 :(得分:1)

那只是发生在我身上。我意识到引发错误$next[0] is undefined是因为我使用的是Bootstrap 3,而不是4。

对于Bootstrap 3,包含图片的元素的类应为item而不是carousel-item

因此,如果您遇到这种情况,只需更改此行:

<figure v-for="(pic, index) in pics" :class="(pic_key === index) ? 'carousel-item active' : 'carousel-item'">

对此:

<figure v-for="(pic, index) in pics" :class="(pic_key === index) ? 'item active' : 'item'">