swiper官网: https://www.swiper.com.cn/
npm install --save [email protected] (@后为指定版本号,可写可不写,下面同理)
cnpm i [email protected] -S
b.引入Swiper 和它的css文件
插槽工作后要进行new Swiper,然后引入.swiper-container
我的文件在src/views/Film.vue文件,在该文件中引入Swiper
import swiper from '@/components/Swiper'
我的是个局部组件,也可以定义全局组件
components:{
swiper //局部注册swiper组件
}
定义全局,这样别的页面不用引入,直接swiper标签即可,同时记得删除局部
import Vue from 'vue'
Vue.component("swiper",swiper) //全局注册swiper组件
11111
22222
33333
以下为错误写法
mounted(){
new Swiper(".swiper-container",{
slidesPerView: 3,
spaceBetween: 30,
freeMode: true
})
}
//惯性滑动
同样,我在Datail中想要引入一个一页两张的轮播效果
错误写法
//惯性滑动
错误效果:由于swiper中每次传入的.swiper-container都是固定的,所以会对Datail文件中的属性值起到混乱渲染的不利影响(重名影响)
11,所以也要对class控制,传参,给两个轮播分别加上写死的class名
mounted(){
new Swiper("."+this.variableClass,this.variableData);
}
}
但发现由于Film(/别的页面中)中没有传class,所以该页面的轮播挂掉了,
mounted() {
new Swiper(
"." + (this.variableClass ? this.variableClass : "swiper-container"),
this.variableData,
{
observer: true //当修改swiper的样式或者子元素时,swiper自动刷新
}
);
}
*这就是关于轮播的由浅至深组件 46–1hour