博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2020最新用swiper制作轮播图?
阅读量:290 次
发布时间:2019-03-01

本文共 3310 字,大约阅读时间需要 11 分钟。

/*

轮播图插件:
下载轮播图插件(不要下载最高版本的,因为高版本的使用的是swiper4文档)
npm install vue-awesome-swiper@2.5.4
vue-awesome-swiper文档:https://github.com/surmon-china/vue-awesome-swiper
https://blog.csdn.net/qq_41108402/article/details/80546626

项目中:

1,先在入口文件(main.js)引入
顺序是先引入,再调用css
import VueAwesomeSwiper from ‘vue-awesome-swiper’
import ‘swiper/dist/css/swiper.css’
(这个css路径根据node_modules中的swiper里面的css路径,如果报错,查看node_modules中的swiper路径)
Vue.use(VueAwesomeSwiper);
(使用Vue.use注册一下VueAwesomeSwiper,目的是供全局使用)

2,创建Swiper.vue

3,在首页引入Swiper.vue

import Swiper from ‘…/base/Swiper’;路径自己定
(注意:Swiper.vue中导入的是Swiper)
在首页中components注册一下Swiper组件,最后使用

*/

/----------------------------------------------------------------------------------------/

用具体详细步骤来操作如下:
1.npm install vue-awesome-swiper@2.5.4
2.npm install axios

3.min.js文件引入

// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in webpack.base.conf with an alias.import Vue from 'vue'import App from './App'import router from './router/index.js'import 'swiper/dist/css/swiper.css'import VueAwesomeSwiper from 'vue-awesome-swiper'Vue.use(VueAwesomeSwiper) //vue的第三方插件专门供vue使用Vue.config.productionTip = false/* eslint-disable no-new */new Vue({  el: '#app',  router,  components: { App },  template: '
'})

4.创建一个swiper.vue

5.放入你要引入的主文件 我写入的是home.vue

6.在src下创建一个(放入json文件)的api->index.js

index.js

import axios from 'axios'//导出一个axios有很多,所以必须分开用变量来接收,不用default是导出全部export let getBanner=function (){//用get接收json数据 return axios.get('/static/mock/banner.json');}

7.在static静态文件下创建一个mock文件->banner.json

banner.json

{    "banner":[        {"src":"https://img11.360buyimg.com/n2/s372x372_jfs/t1/59714/19/15384/96258/5dcd8916Ec8adb87c/19eb1d2ab0baf01c.jpg!q70.dpg.webp"},        {"src":"https://m.360buyimg.com/mobilecms/s750x750_jfs/t22045/307/929094700/422408/3bc9906d/5b1be210Nf5b61f6c.jpg!q80.dpg.webp"},        {"src":"https://img12.360buyimg.com/mobilecms/s519x519_jfs/t1/119364/38/3338/552423/5ea7e439Ef85df0e7/3759b12c3c3d84bf.png.webp"}    ]}

8.效果图如下:

在这里插入图片描述

//扩展当有很多接口图片时,使用方法如下:

index.js

import axios from 'axios'// 创建公共的接口名axios.defaults.baseURL="/static/mock/";//请求的拦截(接口)axios.interceptors.request.use((config)=>{//一般是加请求头参数    //当你有共同的参数时可以用此参数来用    config.headers.a="1234"   console.log(config);//可以找到a的值1234    return config})//每次数据拿到的值都是data,也可以创建一个公共的//data已经拿到数据的响应axios.interceptors.response.use((res)=>{//数据响应的拦截 //return 啥就返回啥 return res.data;})//axios是封装的promise//导出一个axios有很多,所以必须分开用变量来接收,不用default是导出全部export let getBanner=function (){//用get接收json数据   return axios.get('banner.json');}export let getBanners=function (){//用get接收json数据    return axios.get('banner.json');   }

2.请求拦截接口参数:参考图片

在这里插入图片描述
3.methods方法那里可以省略data部分
//当你在公共方法index.js定义后才可以省略data

methods:{//方法    getb(){      return  getBanner().then((res)=>{    this.bannerlist=res.banner;   })    }  }

4.在index.js中创建公共的接口名之后:

index.js中这一步可以省略前面的static/moke/

//导出一个axios有很多,所以必须分开用变量来接收,不用default是导出全部export let getBanner=function (){//用get接收json数据   return axios.get('banner.json');//省略后的}export let getBanners=function (){//用get接收json数据    return axios.get('banner.json');//省略后的   }   ...   export可以抛出很多数据...
你可能感兴趣的文章