本文共 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 axios3.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.请求拦截接口参数:参考图片
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可以抛出很多数据...