vue中使用swiper pagination不生效双向绑定!

vue使用swiper一般有2种方法!

第一种

我绝对不是很好使,随便讲讲,建议采用第二种!

一种直接当js引入使用,一种则是采用组件方式!

采用组件方法

    "swiper": "^6.3.5",
    "vue-awesome-swiper": "^3.1.3",

主要是上面2个组件

import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/swiper-bundle.css'

Vue.use(VueAwesomeSwiper)

然后直接

 <swiper
      ref="mybanner"
      class="mybanner"
      :options="swiperOptions"
    >
      <swiper-slide
        v-for="(item,index) in bannerList"
        :key="index"
        class="banner-slide" />
        
        </swiper>
        
 computed: {
    ...mapGetters(['device']),
    swiper() {
      return this.$refs.mybanner.swiper
    },
  },
  
  请求接口后
      setTimeout(() => {
          this.$refs.myadvbanner.swiper.init()
        }, 100)
     //调用init方法即可

就不细讲了!

主要是讲述第二种!

1、下载组件

cnpm i swiper@6.3.5

2、引入

import Swiper, { Navigation, Pagination } from "swiper"
Swiper.use([Navigation, Pagination]); // 关键点在这里,单纯的swiper里面是没有包含上下按钮和分页的!

3、html

        <div class="swiper swiper-bn">
            <div class="swiper-wrapper">
                <div class="swiper-slide banner-slide" v-for="(item, index) in bannerList" :key="index">
                    <div class="slide-inner"
                        style="background-image:url('https://img.alicdn.com/imgextra/i2/O1CN01A6isBN1hyVzQ8Y08e_!!6000000004346-0-tps-2880-1070.jpg')">
                    </div>
                </div>
            </div>
            <div class="swiper-button-prev"></div>
            <!--左箭头。如果放置在swiper外面,需要自定义样式。-->
            <div class="swiper-button-next"></div>
            <!--右箭头。如果放置在swiper外面,需要自定义样式。-->
            <!-- Add Pagination -->
            <div class="swiper-pagination swiper-bn-pag"></div>
        </div>

4、调用方法

  mounted() {

        this.getBannerList()
    },
    methods: {
        getBannerList() {
            // channel: 'dfffggg'
            bannerList({ page: 0, size: 0, }).then((res) => {
                this.bannerList = res.dataList
                setTimeout(() => {
                    this.myswiper()
                }, 100)
            })
        },
        myswiper: function () {
            var swiper = new Swiper('.swiper-bn', {
                pagination: {
                    el: ".swiper-pagination",
                    clickable: true,
                },
                loop: true,
                navigation: {
                    nextEl: '.swiper-button-next',
                    prevEl: '.swiper-button-prev',
                },
                observer: true,
                observeParents: true,

            });
            console.log(swiper)
        }
    },

然后即可!

3、双向绑定怎么使用

需要引入

import Swiper, { Navigation, Pagination, Thumbs } from "swiper"
Swiper.use([Navigation, Pagination, Thumbs]);

其他按照swiper 官网的 thumbs 方法使用即可!

相关内容

发表评论

验证码:
点击我更换图片

最新评论