vue中使用swiper,不踩坑!
官网和百度的教程总是出错,应该是版本的原因,官网里的总是搞出错,所以我这边只用swiper4版本
命令行下输入 npm install swiper@4 --save安装
这里有一个坑,如果是git管理下的项目,需要在项目文件夹下打开git bash here
输入 npm install swiper@4 --save安装
swiper组件部分代码
<template>
<div class="swiper-container filmswiper">
<div class="swiper-wrapper">
<slot></slot>
</div>
<!-- 如果需要分页器 -->
<div class="swiper-pagination"></div>
</div>
</template>
<script>
import Swiper from "swiper";
import "swiper/dist/css/swiper.min.css";
export default {
mounted() {
new Swiper(".filmswiper", {
autoplay: {
delay: 2000,
//用户操作swiper之后,是否禁止autoplay。默认为true:停止,目前改为不停止
disableOnInteraction: false,
},
loop: true,
// 如果需要分页器
pagination: {
el: ".swiper-pagination",
clickable: true,
},
});
},
};
</script>
<style scoped>
/* 可以通过swiper里的类修改默认样式,目前修改的是小圆点的位置 */
.swiper-pagination{
text-align: right;
}
</style>
其他组件需要引用swiper时的代码
注意此处我用的反向代理跨域请求的数据渲染
<myswiper :key="data_list.length">
<div class="swiper-slide" v-for="list in data_list" :key="list.id">
<img :src="list.img" />
</div>
</myswiper>
<script>
import myswiper from "@/components/Swiper";
import axios from "axios";
export default {
name: "NowPlaying",
data() {
return {
data_list: [],
};
},
components: { myswiper },
mounted() {
axios.get("/hotel/mustTry?city=nanjing").then((res) => {
this.data_list = res.data.data;
});
},
};
</script>

浙公网安备 33010602011771号