Swiper在Vue2中的使用
admin 阅读: 2024-03-29
后台-插件-广告管理-内容页头部广告(手机) |
以swiper3为例
一、全局引入
1. 下载swiper3
cnpm install swiper@3 vue-awesome-swiper@3 --save-dev2. 在main.js中引入Vue-Awesome-Swiper
- import VueAwesomeSwiper from 'vue-awesome-swiper'
- import 'swiper/dist/css/swiper.css'
- // 全局挂载
- Vue.use(VueAwesomeSwiper)
3. 在swiper.vue中
- <div>
- <swiper :options="swiperOption" ref="mySwiper">
- <swiper-slide>I'm Slide 1swiper-slide>
- <swiper-slide>I'm Slide 2swiper-slide>
- <swiper-slide>I'm Slide 3swiper-slide>
- <div class="swiper-pagination" slot="pagination">div>
- swiper>
- div>
- <script>
- export default {
- name: 'HomeSwiper',
- data () {
- return {
- swiperOption: {
- loop: true,
- autoplay: {
- delay: 3000,
- stopOnLastSlide: false,
- disableOnInteraction: false
- },
- pagination: {
- el: '.swiper-pagination',
- type: 'fraction',
- clickable: true
- },
- }
- }
- }
- }
- script>
- <style lang="scss" scoped>style>
注意分页器的写法
2.6.7版本
- swiperOption: {
- loop: true,//可选选项,开启循环
- autoplay: 5000,//可选选项,自动滑动
- pagination: '.swiper-pagination',
- paginationType: 'fraction',
- paginationClickable: true
- }
3.1.3版本
- swiperOption: {
- loop: true,
- autoplay: {
- delay: 3000,
- stopOnLastSlide: true, //当切换到最后一个slide时停止自动切换
- disableOnInteraction: true //用户操作swiper之后,是否禁止autoplay
- },
- pagination: {
- el: '.swiper-pagination',
- type: 'fraction',
- clickable: true
- }
- }
二、按需引入
1. 下载swiper3
cnpm install swiper@3 vue-awesome-swiper@3 --save-dev2. 在swiper.vue中 引入样式和组件
- <div>
- <swiper :options="swiperOption" ref="mySwiper">
- <swiper-slide>I'm Slide 1swiper-slide>
- <swiper-slide>I'm Slide 2swiper-slide>
- <swiper-slide>I'm Slide 3swiper-slide>
- <div class="swiper-pagination" slot="pagination">div>
- swiper>
- div>
- <script>
- import { swiper, swiperSlide } from "vue-awesome-swiper";
- import "swiper/dist/css/swiper.css";
- export default {
- name: 'HomeSwiper',
- components: {
- swiper,
- swiperSlide
- },
- data () {
- return {
- swiperOption: {
- loop: true,
- autoplay: {
- delay: 3000,
- stopOnLastSlide: false,
- disableOnInteraction: false
- },
- pagination: {
- el: '.swiper-pagination',
- clickable: true
- }
- }
- }
- }
- }
- script>
- <style lang="scss" scoped>style>
loop: true失效问题
数据是写死的时候,能够loop:true是有效的;
数据是动态获取的loop:true就会失效。
解决办法:
加上v-if="list.length"有效解决
- computed: {
- isShowSwiper () {
- return this.list.length
- }
- }
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |