我使用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: [],
}
}
});
正如您可能已经注意到的那样,还有另一个文件组件在网站的另一个页面上执行某些操作。我实现了这个其他组件后发生了错误,但是我不明白为什么它应该影响轮播,因为它与它无关(它甚至根本不使用引导程序)......
然而,是否有人知道如何解决这个问题?这可能只是一个引导错误吗?
答案 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'">