vue添加vue-awesome-swiper轮播组件方式

 更新时间:2022年10月21日 09:27:41   作者:骑上我心爱的小摩托  
这篇文章主要介绍了vue添加vue-awesome-swiper轮播组件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

添加vue-awesome-swiper轮播组件

1.vue项目中添加swiper组件,也是很常见的,通常在jQuery中的方法,其实并不适用于vue项目。vue由于自身的框架性问题不依赖于jQuery,所以vue最好是用自己本身的swiper内置标签

2.进入项目目录,安装swiper

npm install vue-awesome-swiper --save

3.在main.js中定义该swiper组件

import Vue from 'vue'
//挂载swiper
import VueAwesomeSwiper from 'vue-awesome-swiper';
Vue.use(VueAwesomeSwiper);

4.在代码中插入该swiper标签

<swiper :options="swiperOption" ref="mySwiper">
 <!-- slides -->
 <swiper-slide>I'm Slide 1</swiper-slide>
 <swiper-slide>I'm Slide 2</swiper-slide>
 <swiper-slide>I'm Slide 3</swiper-slide>
 <swiper-slide>I'm Slide 4</swiper-slide>
 <swiper-slide>I'm Slide 5</swiper-slide>
 <swiper-slide>I'm Slide 6</swiper-slide>
 <swiper-slide>I'm Slide 7</swiper-slide>
 <!-- Optional controls -->
 <div class="swiper-pagination"  slot="pagination"></div>
 <div class="swiper-button-prev" slot="button-prev"></div>
 <div class="swiper-button-next" slot="button-next"></div>
 <div class="swiper-scrollbar"   slot="scrollbar"></div>
</swiper>

并进行swiper的配置

import { swiper, swiperSlide } from 'vue-awesome-swiper'

数据方法配置

export default {
  name: '',
 data() {
   return {
     swiperOption: {
       // NotNextTick is a component's own property, and if notNextTick is set to true, the component will not instantiate the swiper through NextTick, which means you can get the swiper object the first time (if you need to use the get swiper object to do what Things, then this property must be true)
       // notNextTick是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true
       notNextTick: true,
       // swiper configs 所有的配置同swiper官方api配置
       autoplay: 3000,
       // direction : 'vertical',
       effect:"coverflow",
       grabCursor : true,
       setWrapperSize :true,
       // autoHeight: true,
       // paginationType:"bullets",
       pagination : '.swiper-pagination',
       paginationClickable :true,
       prevButton:'.swiper-button-prev',
       nextButton:'.swiper-button-next',
       // scrollbar:'.swiper-scrollbar',
       mousewheelControl : true,
       observeParents:true,
       // if you need use plugins in the swiper, you can config in here like this
       // 如果自行设计了插件,那么插件的一些配置相关参数,也应该出现在这个对象中,如下debugger
       // debugger: true,
       // swiper callbacks
       // swiper的各种回调函数也可以出现在这个对象中,和swiper官方一样
       // onTransitionStart(swiper){
       //   console.log(swiper)
       // },
       // more Swiper configs and callbacks...
       // ...
     }
   }
 },components: {
 swiper,
 swiperSlide
},
 // you can find current swiper instance object like this, while the notNextTick property value must be true
 // 如果你需要得到当前的swiper对象来做一些事情,你可以像下面这样定义一个方法属性来获取当前的swiper对象,同时notNextTick必须为true
 computed: {
   swiper() {
     return this.$refs.mySwiper.swiper
   }
 },
 mounted() {
   // you can use current swiper instance object to do something(swiper methods)
   // 然后你就可以使用当前上下文内的swiper对象去做你想做的事了
   // console.log('this is current swiper instance object', this.swiper)
   // this.swiper.slideTo(3, 1000, false)
 }
}

5.最后引入swiper样式

@import'../src/style/swiper.min.css';

vue-awesome-swiper不轮播问题

因为swiper渲染的时候数据还没有加载完毕,所以swiper就不轮播了,加一个判断就好

<div class="banner-wrap"   v-if='bannerList.length'> 
        
        <swiper :options="swiperOption" ref="mySwiper" >
            <swiper-slide v-for='(item,index) in bannerList' :key = 'index'>
                <div class="img-box">
                  <img :src="item.banner" alt="">
                </div>
            </swiper-slide> 
            <div class="swiper-pagination"  slot="pagination"></div>
        </swiper>
      </div>

//轮播图配置项

  swiperOption: {
      loop:true,
      autoplay:{
          disableOnInteraction: false,
          delay: 2000,
      },
      pagination: {
          el:'.swiper-pagination',
          clickable:true,
          // type:"bullets",
         
      },
      autoplayDisableOnInteraction: false,
  },

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue单向以及双向数据绑定方式(v-bind和v-model的使用)

    vue单向以及双向数据绑定方式(v-bind和v-model的使用)

    这篇文章主要介绍了vue单向以及双向数据绑定方式(v-bind和v-model的使用),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Vue.js弹出模态框组件开发的示例代码

    Vue.js弹出模态框组件开发的示例代码

    本篇文章主要介绍了Vue.js弹出模态框组件开发的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 关于axios不能使用Vue.use()浅析

    关于axios不能使用Vue.use()浅析

    这篇文章主要给大家介绍了关于axios不能使用Vue.use()的相关资料,文中通过示例代码介绍的非常详细,对大家的理解和学习具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-01-01
  • Vue3中Cesium地图初始化及地图控件配置方法

    Vue3中Cesium地图初始化及地图控件配置方法

    本文中,我们主要介绍Cesium在Vue3运行环境的配置,及Cesium实例中控件的显隐设置,本项目基于pnpm安装,也可使用其他包管理器进行安装,如npm或yarn,本文通过示例代码对vue初始化Cesium地图相关知识介绍的非常详细,需要的朋友参考下吧
    2023-07-07
  • 使用table做成树形结构的table

    使用table做成树形结构的table

    这篇文章主要介绍了使用table做成树形结构的table问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Vuepress 搭建带评论功能的静态博客的实现

    Vuepress 搭建带评论功能的静态博客的实现

    这篇文章主要介绍了Vuepress 搭建带评论功能的静态博客的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • Vue3实现provide/inject的示例详解

    Vue3实现provide/inject的示例详解

    Vue3 的 Provide / Inject 的实现原理其实就是巧妙利用了原型和原型链来实现的。本文将通过示例为大家介绍下provide/inject的具体实现,需要的可以参考一下
    2022-11-11
  • el-form 多层级表单的实现示例

    el-form 多层级表单的实现示例

    这篇文章主要介绍了el-form 多层级表单的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • vue+axios+java实现文件上传功能

    vue+axios+java实现文件上传功能

    这篇文章主要为大家详细介绍了vue+axios+java实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Vue 中文本内容超出规定行数后展开收起的处理的实现方法

    Vue 中文本内容超出规定行数后展开收起的处理的实现方法

    这篇文章主要介绍了Vue 中文本内容超出规定行数后展开收起的处理的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论