vue引入swiper插件的使用实例

时间:2021-05-26

本文介绍了vue引入swiper插件,分享给大家,希望对大家有帮助

步骤一:安装vue,

$ npm install vue

步骤二:创建vue项目

# 全局安装 vue-cli $ npm install -g vue-cli $ cd my-project $ npm install $ npm run dev

上面这些就是安装好vue项目,最主要的就是下面的步骤

步骤三:下载好swiper相关的js和css,js放在static目录下,css放在assets目录下。

步骤四:

安装runtime:

终端命令:npm install babel-runtime

步骤五:

修改.eslintrc.js文件如下:

// http://eslint.org/docs/user-guide/configuring module.exports = { root: true, parser: 'babel-eslint', parserOptions: { sourceType: 'module' }, env: { browser: true, }, // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style extends: 'standard', // required to lint *.vue files plugins: [ 'html' ], // add your custom rules here 'rules': { // allow paren-less arrow functions 'arrow-parens': 0, // allow async-await 'generator-star-spacing': 0, // allow debugger during development 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 }, 'globals': { "Swiper": true } //这个地方是新加入的 全局注入 }

步骤六:在自己的vue文件中添加轮播图代码

<div v-on:mouseenter="stopPlay()" v-on:mouseleave="play()" class="swiper-container gallery-top swiper-container-horizontal"> <div class="swiper-wrapper"> <div v-for="value in lbt" class="swiper-slide swiper-slide-next" style="width: 100%; margin-right: 10px;" v-bind:style="{backgroundImage: 'url(' + value.imgs + ')'}"></div> </div> <div class="swiper-button-next swiper-button-white"></div> <div class="swiper-button-prev swiper-button-white swiper-button-disabled"></div> </div> <div class="swiper-container gallery-thumbs swiper-container-horizontal"> <div class="swiper-wrapper"> <div v-for="value in lbt" class="swiper-slide swiper-slide-next" style="margin-right: 10px;" v-bind:style="{backgroundImage: 'url(' + value.imgs + ')'}"></div> </div> </div> import Swiper from '../../static/swiper-3.4.2.min.js' let galleryTop let galleryThumbs export default { name: 'main', data () { return { lbt: [ { 'imgs': '../static/product/lbt1.jpg' }, { 'imgs': '../static/product/lbt2.jpg' }, { 'imgs': '../static/product/lbt3.jpg' } ] } }, mounted () { this.lunbo() }, methods: { lunbo () { galleryTop = new Swiper('.gallery-top', { nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', spaceBetween: 10, grabCursor: true, initialSlide: 1, autoplayDisableOnInteraction: false }) galleryThumbs = new Swiper('.gallery-thumbs', { spaceBetween: 10, autoplay: 4000, initialSlide: 1, centeredSlides: true, slidesPerView: 'auto', touchRatio: 0.2, slideToClickedSlide: true, autoplayDisableOnInteraction: false, grabCursor: true }) galleryTop.params.control = galleryThumbs galleryThumbs.params.control = galleryTop }, stopPlay () { galleryTop.stopAutoplay() galleryThumbs.stopAutoplay() }, play () { galleryTop.startAutoplay() galleryThumbs.startAutoplay() } } } @import url("../assets/swiper-3.4.2.min.css"); .gallery-top{ height:32rem; width:100%; } .gallery-thumbs{ height:20%; box-sizing:border-box; padding:10px 0; background: rgba(0, 0, 0, 0.4); cursor: pointer; } .gallery-thumbs .swiper-slide{ width:30%; height:6rem; opacity:0.3; } .gallery-thumbs .swiper-slide-active{ opacity:1; } .swiper-slide{ background-size: 100% 160%; -webkit-background-size: 100% 160%; }

这里还有一个很重要的问题,在模板里面设置背景图,写法应该是

v-bind:style="{backgroundImage: 'url(' + value.imgs + ')'}"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章